我是新手,从网上粘来代码学习用,这段代码在DOS窗口 JAVAC 编译后,出现警告信息,当时没多留意,大概是说会改变系统设置吧,用 JAVA 命令 执行后,中文部分都是乱码了,请各位给个帮助,最好说下怎么改过来,谢谢哦~
import java.io.*;   
public class Test1
{   
    public static void main (String args[])   
    {   
       try   
           {
            System.out.print("请输入文件名:");
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            String filename=br.readLine();
            FileInputStream fileIn=new FileInputStream(filename);
            StreamTokenizer st =new StreamTokenizer(fileIn);
           
            st.ordinaryChar(46);
            st.ordinaryChar(34);
            int wordCount=0,numCount=0,punctionCount=0,count=0;
            double token;
            while ((token=st.nextToken())!=StreamTokenizer.TT_EOF)
            {
                count++;
                if (token==StreamTokenizer.TT_WORD)
                   wordCount++;
                else if (token==StreamTokenizer.TT_NUMBER)
                         numCount++;
                     else
                         punctionCount++;
            }
            System.out.println("单词总数为:"+count);
            System.out.println("单词数为:"+wordCount);
            System.out.println("数字数为:"+numCount);
            System.out.println("标点符号数为:"+punctionCount++);
           }
      catch (IOException e)
           {
            System.out.println(e.getMessage());
           }
    }
}

解决方案 »

  1.   

    问题是不是在这里           st.ordinaryChar(46);
              st.ordinaryChar(34);
    ??
      

  2.   

    谢谢楼上我贴出DOS窗口下的编译提示:> javac Test1.java
    Note:Test1.java uses or overrides a deprecated API.
    Note:Recompile with -Xlint:deprecation for details.
      

  3.   


    非常感谢Evil_cloud谁能告诉我引起这种情况的具体原因么?
      

  4.   


    下线结贴哦,谢谢Evil_cloud
      

  5.   

    跟代码没关系,跟CMD窗口的编码设置有关系,自己设置下