输入输出不一致!求解答

qixi727 2011-04-21 09:39:41
问一个简单的问题:

public static void main(String[]args){
System.out.println("Java测试程序:\n");
try{
BufferedReader bin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个字符串: ");
System.out.print(bin.readLine());
System.out.println("\n运行结束\n");
}catch(Exception e){
System.out.println("程序异常错误\n"+e.getMessage());
}
}
运行环境: OS:win7 平台:MyEclipse8.0:
运行:
Java测试程序:

请输入一个字符串: //位置1
hanmd //位置2
hahanmd
运行结束
是这样的:如果在位置1处直接输入hanmd按“Enter”运行就会如上结果输入输出不一致
如果直接在位置2输入就没问题:
Java测试程序:

请输入一个字符串:
hanmd
hanmd
运行结束
为什么在位置1处输入就不一样了??
...全文
183 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qixi727 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 nuefriend 的回复:]

并且把 System.out.println("请输入一个字符串: ");改为System.out.print("请输入一个字符串: ");输入和输出就一致了。。。
[/Quote]
或则你把("请输入一个字符串: ");改为("请输入一个字符串:\n ");的话也是可以的
qixi727 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 nuefriend 的回复:]

我发现了一个问题哦,为什么我用中文输入就可以在位置1输入,且前面多2个字母,我输入:飞儿,输入是:fe飞儿; 而我用英文输入,它就自动转到位置2输入了,且输入和输出一致。。。
[/Quote]
是的,向大家的就是这个问题!想不明白为什么~~~~
NueFriend 2011-04-21
  • 打赏
  • 举报
回复
并且把 System.out.println("请输入一个字符串: ");改为System.out.print("请输入一个字符串: ");输入和输出就一致了。。。
NueFriend 2011-04-21
  • 打赏
  • 举报
回复
我发现了一个问题哦,为什么我用中文输入就可以在位置1输入,且前面多2个字母,我输入:飞儿,输入是:fe飞儿; 而我用英文输入,它就自动转到位置2输入了,且输入和输出一致。。。
qixi727 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 soszou 的回复:]
我就纳闷 为什么会出现这个问题呢


我运行是正确的

Java测试程序:

请输入一个字符串:
hanmd
hanmd
运行结束
[/Quote]
在位置1每次运行的时候会读取前两个字符:比如我输入吃饭,他就会输出前两个字符在输出吃饭:ch吃饭
BJ_黑夜 2011-04-21
  • 打赏
  • 举报
回复
我就纳闷 为什么会出现这个问题呢


我运行是正确的

Java测试程序:

请输入一个字符串:
hanmd
hanmd
运行结束
qixi727 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mynameismavk 的回复:]
你在cmd窗口下试试呢?
可能有不可见字符
[/Quote]
好的,我试试~~~
qixi727 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xianlaiwushi007 的回复:]
……
[/Quote]
你的回复对我的问题没什么用~~~
mynameismavk 2011-04-21
  • 打赏
  • 举报
回复
你在cmd窗口下试试呢?
可能有不可见字符
qixi727 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mynameismavk 的回复:]
复制错了输出是:
请输入一个字符串:
hanmd
hanmd
运行结束
[/Quote]
我的代码是正确的,前面有import java.io.*;我没有发到代码上!
我想知道为什么会多出来两个字符~~~
mynameismavk 2011-04-21
  • 打赏
  • 举报
回复
复制错了输出是:
请输入一个字符串:
hanmd
hanmd
运行结束
mynameismavk 2011-04-21
  • 打赏
  • 举报
回复

class Test1{
public static void main(String[] args){
try{
java.io.BufferedReader bin=new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
System.out.println("请输入一个字符串: ");
System.out.println(bin.readLine());
System.out.println("运行结束");
}catch(Exception e){
System.out.println("程序异常错误\n"+e.getMessage());
}
}
}

console:
请输入一个字符串:
hanmd
hahanmd
运行结束

58,454

社区成员

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

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