Scanner sc = new Scanner(System.in);
System.out.println("请输入卡号,按“y”结束:");
int custNo;
int sum = 0;
do{
custNo = sc.nextInt();
sum = sum + custNo;
}
while(custNo == 'y');
由于y是char类型 ,而这里读取的是整形 ,输入y会报错
Scanner sc = new Scanner(System.in);
System.out.println("请输入卡号,按“y”结束:");
String custNo;
int sum = 0;
String y="y";
do{
custNo = sc.next();
if(custNo.equals("y"))
break;
sum = sum + Integer.parseInt(custNo);
}
while(true);
System.out.println("sum="+sum);
有几个问题:
1、custNo你定义的为int类型,而'y'明显是char类型的;两种不同类型的怎么可能会相等呢?
2、你定义了个sum,sum如果没用的话,就不要加了;因为即使你把custNo变成了String类型的值,用于和"y"作判断,但是你要和sum相加,类型转换同样会报错,所以建议把sum去掉;