嘿,我有一个错误“列表无法解决”。这是我的代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Objects {
void inputData() {
Objects object = new Objects();
DaneTeleadresowe daneTeleadresowe = new DaneTeleadresowe();
Scanner scanner1 = new Scanner(System.in);
int ilu = scanner1.nextInt();
Scanner scanner2 = new Scanner(System.in);
List<String> list = new ArrayList<String>();
for (int y=0; y<ilu; y++){
for(int i=0;i<dataOfSomeSort.tableOfNames.length; i++){
System.out.println(dataOfSomeSort.tableOfNames[i]);
String inputedData = scanner2.nextLine();
list.add(inputedData);
}
}
void showData(){
Scanner scanner3 = new Scanner(System.in);
int number = scanner3.nextInt();
if(number < 1) {
System.out.println("Wrong number.");
} else if(number>1) {
int regula = (number*10)-10;
for(int i=regula; i<regula+9; i++) {
System.out.println(list.get(regula));
}
}
}
}
在行中:System.out.println(list.get(regula));
我有错误。我该怎么办?
编辑:100%的列表不为空。我只是粘贴了代码片段,里面有一个错误,希望有人会说我怎么能解决“list-error”的问题。我想在列表中添加一些信息,然后选择某些“列表行”并显示这些数据。
答案 0 :(得分:1)
至少在for循环中进行基本检查:
for(int i=regula; i < regula+9; i++){
if (list.get(regula) != null)
...
}
答案 1 :(得分:1)
List是inputData的局部变量,因此您无法访问putside(即来自showData)。另请注意,两种方法之间存在缺失
答案 2 :(得分:0)
List<String> list = new ArrayList<String>();
仅限于inputData
方法范围内。将其声明为类成员。这就是你list can't be resolved
获得System.out.pritnln(list.get(regla));
的原因。无法从该方法访问该列表,因为它在另一个方法中是本地作用域
public class Objects {
List<String> list = new ArrayList<String>();
void inputData() {
此外,您没有lista
- lista.add(inputedData);
。你只有list
可能想要改变
lista.add(inputedData);
到
list.add(inputedData);