java小程序出现一个异常(String和int)

不断要求用户输入一个数字(假定用户输入的数字都是正整数),当用户输入end的时候显示刚才输入数字中的最大值importjava.util.Scanner;publiccl... 不断要求用户输入一个数字(假定用户输入的数字都是正整数),当用户输入end的时候显示刚才输入数字中的最大值import java.util.Scanner;public class PrintMax { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String number; int max=0; do { number = sc.next(); int num = Integer.parseInt(number); max=(max>num)?max:num; } while (!((number).equals("end"))); System.out.println("其中最大的数是:"+max); }}异常:Exception in thread "main" java.lang.NumberFormatException: For input string: "end" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at PrintMax.main(PrintMax.java:12)
大神们,有没有知道的啊?
如果定义为 int number,我也没改对,求指点。
展开
 我来答
匿名用户
2017-08-05
展开全部
,java.lang.NumberFormatException的意思是数字格式化异常
然后看你的代码。你输入前2个数字的时候number = 1,2. 第三次输入end,这个时候,你代码13行的parseint 。就是这里报的错。
这个问题是因为你用的do{} while.先执行do里面的代码再执行while判断。改的话直接用while(//代码){}这样如果输入的是end 就不会到里面的代码了。
追问

谢谢您,刚刚出错我知道为什么了,可是改了之后一开始报空指针异常,就是number=null;

改成“”空串还是有异常。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式