加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中的循环问题

发布时间:2020-12-15 02:03:39 所属栏目:Java 来源:网络整理
导读:以下代码中的错误是什么? while ((char t==(char) System.in.read())!='0') 解决方法 您不能在while循环中声明新变量. while (boolean always = true) { } // DOES NOT COMPILE!!! 你必须在循环之前和之外声明变量,所以可能是这样的: boolean always = tru
以下代码中的错误是什么?

while ((char t==(char) System.in.read())!='0')

解决方法

您不能在while循环中声明新变量.

while (boolean always = true) {
    } // DOES NOT COMPILE!!!

你必须在循环之前和之外声明变量,所以可能是这样的:

boolean always = true;
    while (always) {
        break;
    } // compiles fine!

    // always is still in scope after the loop!
    always = !always;

从这个意义上讲,for循环是唯一的:事实上你可以声明一个新的局部变量,其范围仅限于该循环:

for (boolean always = true; always; ) {
        break;
    } // compiles fine!

    // always is no longer declared after the loop!
    always = !always; // DOES NOT COMPILE!

也就是说,看看你在做什么,你可能想看看java.util.Scanner.我怀疑它会更好地满足你的需求.

下面是使用Scanner从标准输入读取数字的示例,终止于0.然后打印这些数字的总和.它使用hasNextInt()而不是Integer.parseInt/NumberFormatException正常处理无效输入.

Scanner sc = new Scanner(System.in);
    System.out.println("Enter numbers (0 to end):");
    int sum = 0;
    int number;
    do {
        while (!sc.hasNextInt()) {
            System.out.println("I'm sorry,that's not a number! Try again!");
            sc.next();
        }
        number = sc.nextInt();
        sum += number;
    } while (number != 0);
    System.out.println("The sum of those numbers is " + sum);

这是一个示例会话:

Enter numbers (0 to end):
1
3
-1
five
I'm sorry,that's not a number! Try again!
2
0
The sum of those numbers is 5

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读