求助:关于一段Java程序,望高手指点

zsj01005432 2008-10-12 12:03:07
import java.io.IOException;




public class Myexception {

public static void main(String[] args) throws IOException {

int i=System.in.read();
if(i<0)
{
System.out .println("你所输入的数字不能小于零");
}

}
}上面这段程序是用来判断用户输入的数字是否是负数,但始终不能按我所想的执行,不知道是怎么回事?
...全文
40 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayuanfei 2008-10-12
  • 打赏
  • 举报
回复
int i=System.in.read();是把你在控制台输入的第一个字符的ASCII码返回。如你输入a,则得到了97.
或许下面的代码才是你想要的。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Myexception {

public static void main(String[] args) {
try {
System.out.println("请输入数字:");
while(true) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String oneLine = in.readLine();
int i = -1;
if(oneLine.trim().length()>0)
i = Integer.parseInt(oneLine);
if(i <0) {
System.out .println("您所输入的数字不能小于零");
}else{
System.out.println("您输入的数字大于零。谢谢,GoodBye!");
break;
}

}
} catch (IOException e) {
e.printStackTrace();
}

}

}
cydp007 2008-10-12
  • 打赏
  • 举报
回复
int i=System.in.read(); 

To:
Scanner scanner = new Scanner(System.in) ;
int i = scanner.nextInt();

62,614

社区成员

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

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