对于java中具有嵌套if循环的循环
对Java非常陌生,我在大学里的一个介绍班上做一个项目。我试图创建一个方法,在字符串数组中搜索输入状态并返回索引。如果用户输入的查询不在数组中,我希望它请求一个新的状态进行搜索。 我的例外是“变量statePosition可能尚未初始化” 下面是代码 提前谢谢你对于java中具有嵌套if循环的循环,java,if-statement,for-loop,nested,Java,If Statement,For Loop,Nested,对Java非常陌生,我在大学里的一个介绍班上做一个项目。我试图创建一个方法,在字符串数组中搜索输入状态并返回索引。如果用户输入的查询不在数组中,我希望它请求一个新的状态进行搜索。 我的例外是“变量statePosition可能尚未初始化” 下面是代码 提前谢谢你 static final int NUM_STATES = 50; public static int askState(String[] stateNames) { Scanner keyboard = new Scanne
static final int NUM_STATES = 50;
public static int askState(String[] stateNames) {
Scanner keyboard = new Scanner(System.in);
String state;
int statePosition;
System.out.println("Please enter a state that you would like to search:");
state = keyboard.next();
{
for (int i = 0; i < NUM_STATES; i++) {
if (state.equals(stateNames[i])) {
statePosition = i;
} else {
System.out.println("Please enter a valid state:");
}
state = keyboard.next();
}
return statePosition;
}
static final int NUM_STATES=50;
公共静态int askState(字符串[]stateNames){
扫描仪键盘=新扫描仪(System.in);
字符串状态;
国际地位;
System.out.println(“请输入要搜索的状态:”;
状态=键盘。下一步();
{
对于(int i=0;i
您可以使用
int statePosition = -1;
如果找不到,则返回-1。错误意味着您没有为statePosition赋值。您可以使用
int statePosition = -1;
如果找不到,则返回-1。该错误意味着您没有为statePosition赋值。我认为您需要初始化变量
int statePosition;
如下所示:
int statePosition =-1;
String state = null;
还要初始化字符串状态;
,如下所示:
int statePosition =-1;
String state = null;
我认为您需要像这样初始化变量
int statePosition;
:
int statePosition =-1;
String state = null;
还要初始化字符串状态;
,如下所示:
int statePosition =-1;
String state = null;
与异常状态一样,您必须初始化int statePosition:
int statePosition = null;
或
…您知道我的意思吗?与异常状态一样,您必须初始化int statePosition:
int statePosition = null;
或
…你知道我的意思吗?你需要初始化这两个变量
String state= null;
int statePosition=-1;
您需要初始化这两个变量
String state= null;
int statePosition=-1;
这里的问题是,您从未实例化statePosition变量,但总是返回它 尝试给statePosition一个值(就像其他人说的-1)
还可以尝试使用while(而不是for语句)来执行此操作,如果找到statePosition,该语句将中断。这里的问题是,您从未实例化statePosition变量,但总是返回它 尝试给statePosition一个值(就像其他人说的-1)
如果找到statePosition,也可以尝试使用while(而不是for语句)来执行此操作。在代码中进一步使用某个it变量之前,程序很容易在其中一个变量中遇到错误。 我建议每次编写代码时,都应该将变量置于初始状态,而不是将其保留为空值
String state= null;
int statePosition=-1;
将其放入代码中以解决您的问题。在代码中进一步使用某个it变量之前,您的程序很容易在其中一个变量中遇到错误。 我建议每次编写代码时,都应该将变量置于初始状态,而不是将其保留为空值
String state= null;
int statePosition=-1;
将其放入代码中以解决您的问题。您可能希望从使用int更改为Integer。Integer是一个对象,因此可以为null。这样,您可以在执行任何进一步操作之前检查它是否已设置
static final int NUM_STATES = 50;
public static Integer askState(String[] stateNames) {
Scanner keyboard = new Scanner(System.in);
String state;
Integer statePosition;
System.out.println("Please enter a state that you would like to search:");
state = keyboard.next();
for (int i = 0; i < NUM_STATES; i++) {
if (state.equals(stateNames[i])) {
statePosition = i;
} else {
System.out.println("Please enter a valid state:");
}
state = keyboard.next();
}
if (statePosition == null) {
throw new Exception("State Position Not Set :(");
}
return statePosition;
}
static final int NUM_STATES=50;
公共静态整数askState(字符串[]stateNames){
扫描仪键盘=新扫描仪(System.in);
字符串状态;
整数状态位置;
System.out.println(“请输入要搜索的状态:”;
状态=键盘。下一步();
对于(int i=0;i
您可能希望从使用int更改为Integer。Integer是一个对象,因此可以为null。这样,您可以在执行任何进一步操作之前检查它是否已设置
static final int NUM_STATES = 50;
public static Integer askState(String[] stateNames) {
Scanner keyboard = new Scanner(System.in);
String state;
Integer statePosition;
System.out.println("Please enter a state that you would like to search:");
state = keyboard.next();
for (int i = 0; i < NUM_STATES; i++) {
if (state.equals(stateNames[i])) {
statePosition = i;
} else {
System.out.println("Please enter a valid state:");
}
state = keyboard.next();
}
if (statePosition == null) {
throw new Exception("State Position Not Set :(");
}
return statePosition;
}
static final int NUM_STATES=50;
公共静态整数askState(字符串[]stateNames){
扫描仪键盘=新扫描仪(System.in);
字符串状态;
整数状态位置;
System.out.println(“请输入要搜索的状态:”;
状态=键盘。下一步();
对于(int i=0;i
initalize变量statePosition.0可以正常工作。String state=null;int statePosition=-1;也许是时候接受答案了……initalize变量statePosition.0可以正常工作。String state=null;int statePosition=-1;也许是时候接受答案了……@user3052882:-不客气!如果这对你有帮助,一定要接受这个答案!@user3052882:-不客气!如果这对你有帮助,一定要接受这个答案!