黑马程序员技术交流社区

标题: 菜鸟学java,报错,希望各位兄弟帮助一下啊 [打印本页]

作者: ぺsimon☆    时间: 2013-3-5 14:29
标题: 菜鸟学java,报错,希望各位兄弟帮助一下啊
本帖最后由 ぺsimon☆ 于 2013-3-5 14:30 编辑

我的代码如下:
import java.io.*;
class Date
{
        public static void main(String args[])throws IOException
        {
        
        DataInputStream in=new DataInputStream(System.in);                        String a;
        System.out.println("请输入任一寸字符串");
        a=in.readLine();
        System.out.println("你输入的字符串是"+a);
        in.close();
        }
}

报错如下:

E:\Java\jdk1.4.2\create\DataInputstream>javac Date.
Note: Date.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
是什么原因呢?求指导谢谢
作者: lzw123451    时间: 2013-3-5 14:48
你用了过时的方法
处理字符建议使用BufferedReader
readLine()
          已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 开始,读取文本行的首选方法是使用 BufferedReader.readLine() 方法。使用 DataInputStream 类读取文本行的程序可以改为使用 BufferedReader 类,只要将以下形式的代码:
     DataInputStream d = new DataInputStream(in);
替换为:
     BufferedReader d
          = new BufferedReader(new InputStreamReader(in));

作者: ぺsimon☆    时间: 2013-3-5 15:15
本帖最后由 ぺsimon☆ 于 2013-3-5 15:25 编辑
李志卫 发表于 2013-3-5 14:48
你用了过时的方法
处理字符建议使用BufferedReader
readLine()


改完之后两个错误
提示in是无效变量
行了谢谢你兄弟把DataInputStream in=new DataInputStream(System.in);
改成了BufferedReader buf =new BufferedReader(new InputStreamReader(System.in));就没有报错了







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2