Variables in a do while loop(DO WHILE循环中的变量)
本文介绍了DO WHILE循环中的变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面是一些要求用户输入整数的代码。
public int getValidInput() {
Scanner user_input = new Scanner(System.in);
do {
System.out.println("Enter an integer >=1 and <=10: ");
int number = user_input.nextInt();
} while (number > 10 || number < 0);
return number;
}
虽然我在do命令外初始化number时(即将其设置为int number),然后在do循环中设置number = user_input.nextInt();
,但如图所示的代码不工作。为什么它在一种情况下有效,而在另一种情况下不起作用?
推荐答案
,因为在JAVA中,变量的作用域是声明它们的块。在您的示例中,int number =
是do...while
块中的,因此该变量仅存在于该块中。
通过将声明移出块,移入方法的块中,该变量将存在于方法的整个块(包括嵌套块)中。
这篇关于DO WHILE循环中的变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:DO WHILE循环中的变量
基础教程推荐
猜你喜欢
- Java:带有char数组的println给出乱码 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 降序排序:Java Map 2022-01-01