读取输入,直到输入某个数字 [英] Read input until a certain number is typed

查看:222
本文介绍了读取输入,直到输入某个数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当输入零作为输入并立即开始求和时,我需要停止询问整数输入。当我输入零时,我的程序不会停止。我需要它来停止并开始总结它收集的所有输入。

I need to stop asking for integer inputs when zero is typed as an input and start summation immediately. My program doesn't stop when I type zero. I need it to stop and start summing up all the inputs it has gathered.

这是我所拥有的:

public class Inttosum {

    public static void main(String[] args) {
        System.out.println("Enter an integer");
        Scanner kb = new Scanner(System.in);
        int askool = kb.nextInt();
        int sum = 0;
        int score = 0;


        while(askool != 0){
          score = kb.nextInt();
          sum += score;
        }
    }
}

////// ///////////最终的代码有效......谢谢!
public class Inttosum {

/////////////////The final code which worked..Thank you! public class Inttosum {

    public static void main(String[] args) {
        System.out.println("Enter an integer");

    Scanner kb = new Scanner(System.in);
    int sum = 0;
    int score = 0;
    do {
        score = kb.nextInt();
        sum += score;

    }while(score != 0);
    System.out.print(sum); 
 }
}


推荐答案

do-while



您使用的是名为 askool 的东西循环条件,但在循环中更新变量得分。您可以使用 do-while 循环。更改

do-while

You are using something called askool as a loop condition, but updating the variable score in your loop. You could use a do-while loop. Change

while(askool != 0){
    score = kb.nextInt();
    sum += score;
}

类似

do {
    score = kb.nextInt();
    sum += score;
}while(score != 0);



使用中断



我还建议调用 nextInt 之前,nofollow> Scanner.hasNextInt() 。而且,既然你不使用得分(只是总和)你就可以写出来,

Using break

I also suggest calling Scanner.hasNextInt() before calling nextInt. And, since you don't use the score (just the sum) you could write it like,

int sum = 0;
while (kb.hasNextInt()) {
    int score = kb.nextInt();
    if (score == 0) {
        break;
    }
    sum += score;
}
System.out.print(sum);

哪个也会停止(并且仍然总和所有 int s)如果用户输入文字。

Which will also stop (and still sum all ints) if the user enters text.

这篇关于读取输入,直到输入某个数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆