java中的readline()方法问题

yqsshr 2008-03-07 08:40:39
我的程序是:
import java.io.* ;
public class stringinput {

public static void main(String[] args)throws IOException {
BufferedReader buf;
String str;
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();
System.out.println("str为"+str);
}
}
运行成功后,在执行时从键盘中输入的str为多于两个字的中文字符时就会出错了,但输入西文字符不会。如:输入 我爱我的家。 只显示:我爱?
这是怎么回事啊
...全文
274 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
奋斗并快乐着 2008-03-31
  • 打赏
  • 举报
回复
输出到你的开发工具的控制台了还是系统命令行了?如果是命令行,编码应该是GBK,如果是你的开发工具就不清楚了,先做相应编码转换在输出
yqsshr 2008-03-18
  • 打赏
  • 举报
回复
我按七楼说的做了,但是输入汉字后输出的全是问号!
tiyuzhongxin789 2008-03-18
  • 打赏
  • 举报
回复
import java.io.*;

public class Test6
{

public static void main(String[] args) throws IOException
{
BufferedReader buf;
String str;
buf = new BufferedReader( new InputStreamReader( System.in ) );
str = buf.readLine();
System.out.println( "str为" + str );
}
}

yqsshr 2008-03-16
  • 打赏
  • 举报
回复
怎么设置呢?谢谢了!
奋斗并快乐着 2008-03-10
  • 打赏
  • 举报
回复
应该是工具的问题,用new InputStreamReader(System.in, "UTF-8") 试试
nihuajie05 2008-03-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 pinkcherry 的回复:]
是乱码问题!楼主 设置下~
[/Quote]
pinkcherry 2008-03-10
  • 打赏
  • 举报
回复
是乱码问题!楼主 设置下~
psyl 2008-03-10
  • 打赏
  • 举报
回复
机器或者调试工具问题
dlcoco9999 2008-03-10
  • 打赏
  • 举报
回复
测试过,没有问题.你那应该是乱码了
wuxo84 2008-03-07
  • 打赏
  • 举报
回复

import java.io.*;

public class Test6
{

public static void main(String[] args) throws IOException
{
BufferedReader buf;
String str;
buf = new BufferedReader( new InputStreamReader( System.in ) );
str = buf.readLine();
System.out.println( "str为" + str );
}
}


在我的机器上没有问题啊
yqsshr 2008-03-07
  • 打赏
  • 举报
回复
需要补充的是我用的是Jcerator Pro,
如果用命令提示符解释的话不会出现上述情况!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧