大家好快问一下。我在下面创建一个Java菜单是代码的一个示例。我想知道我是否在“if”语句中设置2个数组如何再次引用这些数组。我知道,由于范围的原因,数组在移出if语句时会被销毁。如果选择了选项P,我想再次引用数组。
public static void determineOption (char option) {
if (option == 'A') {
int class_number = Console.getInt("Enter how many students between 1-10");
while (class_number < 1 || class_number > 10)
class_number = Console.getInt("Enter how many students between 1-10");
System.out.println("");
String[] name = new String[class_number];
int[] score = new int[name.length];
for (int i=0; i<class_number; i=i+1)
{
name[i] = Console.getString("Enter Name");
score[i] = Console.getInt("Enter score");
}
}
else if (option == 'P') {
}
答案 0 :(得分:1)
根据你的逻辑,似乎HashMap适合这个。
HashMap<String,Integer>
您的密钥是名称,价值是分数。您可以将其定义为类变量,并在if else if case中使用。
答案 1 :(得分:0)
将声明放在范围的较高位置,如果有必要,可能在课堂上。换句话说,将数组从方法本地变量更改为类上的变量。
答案 2 :(得分:0)
在if
块之外声明该数组,并在需要时初始化它。
答案 3 :(得分:0)
这都是范围问题。在if
语句之外声明数组,将其置于方法本身的范围内,这样您就可以在方法中使用它(从声明行到方法结尾)。如果你需要在各种方法中使用数组,你可能需要通过使它成为一个类字段来保持该数组更长一点。
请注意,如果数组的初始化取决于不同的条件,则在使用之前必须进行检查,因为它可能在任何时候都尚未初始化。