\\\\\\\\ 奇怪的错误 ,怪 怪怪怪 !!!!!请高手指出 \\\\\\\\\\\\\\\\

net2003 2003-06-26 11:04:42
import java.io.*;

public class aa{
public static void main(String []args){
int flag = 0 ;
try{
do{
System.out.print("please input :");
flag = System.in.read() - '0' ;

System.out.println("flag = " + flag);

}while(flag<100) ;
}catch(IOException e){
System.out.println(e.toString());
}
}
}
输出结果为:
please input :1
flag = 1
please input :flag = -35
please input :flag = -38
please input :2
flag = 2
please input :flag = -35
please input :flag = -38
please input :


为什么循环一次,输出却为 3 此 ???????
...全文
32 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
net2003 2003-07-01
  • 打赏
  • 举报
回复
to hesi726(hesi) :
谢谢你的提示 .
hesi726 2003-06-30
  • 打赏
  • 举报
回复
我觉得你应该买本JAVA的基本入门书籍1
例如 Think In JAVA 或者 JAVA 入门经典之类!
这样才能提高水平快一点!
hesi726 2003-06-30
  • 打赏
  • 举报
回复
下面是代码:
import java.io.*;

public class aa{
public static void main(String []args){
int flag = 0 ;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
do{
System.out.print("please input :");
flag = Integer.parseInt(br.readLine());
System.out.println("flag = " + flag);

}while(flag<100) ;
}catch(IOException e){
System.out.println(e.toString());
}
}
}
net2003 2003-06-28
  • 打赏
  • 举报
回复
怎么还是不行呀 !
还是一个一个 字节输出
怎么让 串 一次输出呢 ??





????
???
net2003 2003-06-28
  • 打赏
  • 举报
回复
to hesi726(hesi) :
haohe(舒克) :


非常感谢 你们的帮助 ,
小弟不胜 谢谢 !!
hesi726 2003-06-27
  • 打赏
  • 举报
回复
你用的世 in.read 方法啊!当然会一个一个字节读并处理了!
看看 有没有 in.readln 方法啊!
如果没有 ,用 BufferedReader 对 in 进行包裹后再 读,应该就没有问题了!
readln 是不会读回车/换行符号的!
net2003 2003-06-27
  • 打赏
  • 举报
回复
那怎么才能避免这种情况呢?
我想从的到命令行输入的整数,那怎么的到呢?
vldb 2003-06-27
  • 打赏
  • 举报
回复
另外两个输出是
CR NL (回车,换行)的结果
它们的ascii码是13, 10
'0'的ascii码是48,相减正好是这个结果

62,614

社区成员

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

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