所以我希望sArr在if和for之后有一个数字,每次循环通过时都会增加。我不知道我做错了什么,能有人解释一下吗?
import java.util.*;
public class StudentTest {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String id, name, gender, address;
Student[] sArr = new Student[4];
int age;
for(int i=0; i>=sArr.length(); i++){
System.out.println("student id.");
id = in.nextLine();
in.nextLine();
System.out.println("Sutdent name.");
name = in.nextLine();
in.nextLine();
System.out.println("Gender.");
gender = in.nextLine();
in.nextLine();
System.out.println("Address.");
address = in.nextLine();
in.nextLine();
System.out.println("Age");
age = in.nextInt();
Student sArr[i] = new Student(id, name, gender, age, address);
s2.display();
}
}
}
这段代码给了我这些错误:
--------------------Configuration: <Default>--------------------
C:\StudentTest.java:31: error: ']' expected
Student sArr[i] = new Student(id, name, gender, age, address);
^
C:\Users\Bart\Desktop\Bart Kosinski_2886295_Assignment01\StudentTest.java:31: error: illegal start of expression
Student sArr[i] = new Student(id, name, gender, age, address);
^
2 errors
Process completed.
答案 0 :(得分:1)
更改
Student sArr[i] = new Student(id, name, gender, age, address);
到
sArr[i] = new Student(id, name, gender, age, address);
Student sArr[i]
是一个(无效的)数组声明。您已经提前声明了数组(在Student[] sArr = ...
中)。现在,您要为数组的索引分配Student
引用。
这将解决编译错误。你应该解决的另一件事是循环的条件。
for(int i=0; i>=sArr.length(); i++)
应该是
for(int i=0; i<sArr.length(); i++)
否则循环将永远不会执行。