它在数组for
中的第二个Alltext
上有错误-在错误中它说找不到Alltext
的符号,并且我的代码似乎无法因此初始化。
我尝试将第二个for
放在第一个for
里面,这没用。我什至尝试更改某种方法,例如为String数组编写键代码。
for (int i = 1; i <= n; i++) {
System.out.print("Input number : ");
a = Masuk.readLine();
n = Integer.parseInt(a);
System.out.print("Input Text : ");
a = Masuk.readLine();
String[] Alltext = {a+" "+n};
}
for (String i : Alltext) {
System.out.println(i);
}
我期望输出是当我输入数字和文本时,它将在Alltext
数组中显示所有数字。
答案 0 :(得分:2)
因为Alltext
的作用域仅在第一个for
循环内,就像您在第一个循环内声明的那样。因此,您的代码不知道该循环外是否存在任何名为Alltext
的变量。
但是,如果在外部声明它,则将无法在循环中初始化数组,即无法执行此Alltext = {a+" "+n};
。数组只能在声明时初始化一次。如果适合您的用例,请改用ArrayList。
您可以执行以下操作:
System.out.print("Total Line : ");
a = Masuk.readLine();
n = Integer.parseInt(a);
String[] Alltext = new String[n];
for(int i = 1;i<=n;i++) {
System.out.print("Input number : ");
a = Masuk.readLine();
n = Integer.parseInt(a);
System.out.print("Input Text : ");
a = Masuk.readLine();
Alltext[i-1]= a+" "+n;//i-1 because loop starts from 1
}
for(String i : Alltext){
System.out.println(i);
}