gpt4 book ai didi

java - 当我引入 while 循环时,我收到变量可能未初始化的错误消息...这是为什么?

转载 作者:行者123 更新时间:2023-12-01 23:56:47 25 4
gpt4 key购买 nike

我有一个 main 函数,它调用方法 1,而方法 1 又调用方法 2:

    public class azza_wahada_A3Q1 {
public static void main (String[] args) {
Method1 m1 = new Method1();


int age = m1.getValidNumber("Please enter your age.", 0, 110);

//int age = m2.getInteger("Please enter your age.");
System.out.println("u r age is \n"+age);
}
}

public class Method1 {

public static int getValidNumber(String prompt, int min, int max){
int input;
Method2 m2 = new Method2();
Method3 m3 = new Method3();
Boolean range = false;

while(range){
input = m2.getInteger(prompt);

if (input > min && input < max){
range = true;
// return input;
}
else{
m3.showError(input,min, max);
range = false;
}

}
return input;
}
}
import javax.swing.JOptionPane;
public class Method2 {
public static int getInteger(String prompt){

String message;
int getInt;

message = JOptionPane.showInputDialog(null, prompt);
getInt = Integer.parseInt(message);
return getInt ;
}

}
import javax.swing.JOptionPane;
public class Method3 {
public static void showError(int number, int min, int max){

String error_message;
error_message = JOptionPane.showInputDialog(null, "Please enter a new number");

}

}

为什么会发生这种情况?代码在没有 while 循环的情况下工作正常,当我引入循环时,我收到错误消息,指出我的输入变量可能尚未初始化,在方法 1 的返回输入处显示错误。这是怎么回事?谢谢

最佳答案

使用while循环,理论上有可能while循环不会被执行,也就是说,当条件range简单时值为 false。编译器不知道循环是否会被执行,因此它认为变量 input 可能没有被初始化。

关于java - 当我引入 while 循环时,我收到变量可能未初始化的错误消息...这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15480868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com