涂鸦椒
2016-09-20 01:14
采纳率: 66.7%
浏览 2.3k
已采纳

请问java中想连续输入,按‘y’结束,这个循环不对,while循环不会判断,能否帮忙看看,谢谢!

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');
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 当作看不见 2016-09-20 01:28
    已采纳

    由于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);
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • efficiency_shang 2016-09-20 01:34

    有几个问题:
    1、custNo你定义的为int类型,而'y'明显是char类型的;两种不同类型的怎么可能会相等呢?
    2、你定义了个sum,sum如果没用的话,就不要加了;因为即使你把custNo变成了String类型的值,用于和"y"作判断,但是你要和sum相加,类型转换同样会报错,所以建议把sum去掉;

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题