本文介紹了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循環中的變量的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,