2 qq 21278853 qq_21278853 于 2016.09.20 09:14 提问

请问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个回答

qq_29594393
qq_29594393   Ds   Rxr 2016.09.20 09: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);
u013076997
u013076997   2016.09.20 09:34

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
while循环输入字符串中以Esc键作为循环结束标识——scanf读取带空格字符串
需求在一个字符串输入循环中,判断输入的是字符串还是Esc按键,如果是Esc按键则结束循环。
Java通过while循环实现输入异常重新输入功能
java新手,前两天学了异常,今天想动手试试自定义异常 自定义一个功能 需要在输入命令后使用异常抛出异常,并在控制台显示”命令错误请重新输入”提醒 然后进行重新输入 一开始想了要使用return方法来进行重新输入,后面发现并没有可用return的地方,于是想到了while方法 代码如下 : public class Library { public static void
C++常用概念——while循环时终止输入(Ctrl+Z,Ctrl+C,Ctrl+D(EOF))
ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。 ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。 ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。Ctrl+Z:一般用于输入字符串时,比如下面这个程序 #include <iostream> #include <vector> #inclu
在JAVA中 do...while 循环
   最近在java学习中本人遇到啦一个让人困难、头疼的问题,那就是  do....while  循环结构。    这是我遇到的一道题:       用户循环输入4位会员号,判断是否中奖,输入n结束操作。   程序开始时生成一个0-9的随机数字,当用户会员号的百位与十位的差值与随机数字相等时为中奖。  我先来说一下我第一眼看到这个题的思路吧   首先,要输入一个四位数,既然这样就要导入一下工具包:...
while(cin>>temp)如何结束循环
使用循环接收输入,不仅可以节省很多的维护工作,还能使程序结构清晰化。 在使用while(cin>>temp)进行循环接收输入时,会遇到while循环跳不出来, 解决方法 为:输入完数据后—>回车—>ctrl+z—>回车—>回车。 也有网友建议使用getchar等获得字符串,后转为对应的数据类型,或对流操作。但,需要我们自己维护输入。 具体该使用哪种解决方法,还得视自己的需求而定。
C++关于循环输入终止判断
这个讲的是,比如要处理一些字符串,需要先输入数据,但是事先不知道输入的个数,如何按回车写入字符数组数据 详见代码: #include using namespace std; int main(){  char a[10]={'\0'};  int i=0;     while(cin>>a[i]){   i++;   if(cin.get()=='\n'){    brea
编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。package yang.base; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.
Python -- 5. 用户输入和while 循环
1. 函数input() 的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中.message = input("Tell me something, and I will repeat it back to you: ") print(message)(1). 使用int() 来获取数值输入 使用函数input() 时,Pyth
c++中While循环的结束
这种情况下,我们不知道要对多少个数求和,而是要一直读数直到程序输入结束。 输入结束时,程序将总和写到标准输出: 输入数字结束后,并不能通过回车跳出循环,而是需要输入非数字或者文件结束符 #include using namesapce std; int main() { int sum = 0, value; while (cin >> value) sum += val
关于JAVA的Scanner(System.in)循环输入的一些问题与解决
问题:比如如下错误代码(判断输入是否为数字,若不是数字,则重新输入): public class test { public static void main(String[] args) { int j=0; Scanner input=new Scanner(System.in); while(true){ if(input.hasNextInt()){ j=in