我正在學習java並從類開始,現在我有一些疑惑。Java類和掃描器
我打算用學生,課堂和椅子的數據製作一個程序。例如,來自學生數據的信息將被用在教室和椅子上。現在,我會限制自己去上課。
每個學生都會有一個姓名和出生日期。 我想我會用學生數據創建一個班級,然後將學生的數據保存在兩個數組中。名稱的一維字符串數組和日期(年,月,日)三列的數組。
我開始用代碼創建Student類:
public class Stundent{
private String nameStudent;
private int yearBirth;
private int monthBirth;
private int dayBirth;
public void setName(String name){
System.out.println("Insert student's name:");
nameStudent = name;
}
public String getName(){
return nameStudent;
}
public void setYear(int year){
System.out.println("Insert student's year of birth:");
yearBirth = year;
}
public int getYear(){
return yearBirth;
}
public void setMonth(int month){
System.out.println("Insert student's month of birth:");
monthBirth = month;
}
public int getMonth(){
return monthBirth;
}
public void setDay(int day){
System.out.println("Insert student's day of birth:");
dayBirth = day;
}
public int getDay(){
return dayBirth;
}
}
然後在主文件還以爲是這樣的:
Student person = new Student();
String[] nameStudents = new String[100];
int[][] birthdayStudents = new int[100][3];
for (int i = 0; i < 3; i++){
person.setName(sc.nextLine());
nameStudents[i] = person.getName();
person.setAno(sc.nextInt());
birthdayStudents[i][1] = person.getAno();
person.setMes(sc.nextInt());
birthdayStudents[i][1] = person.getMes();
person.setDia(sc.nextInt());
birthdayStudents[i][2] = person.getDia();
}
第一個問題:
:忘了這不正確,因爲掃描儀,這是正確的思維方式?
第二個問題:
如果我運行這段代碼,我有以下情況: 本報告將提交給我「插入學生的名字:」但如果我把瑪麗亞InputMismatchException時會出現。我相信他在一年中儲存瑪麗亞。 這是爲什麼發生?在週期相同,我不能有多個電話給掃描儀? 如果我只是把代碼:
person.setName(sc.nextLine());
nameStudents[i] = person.getName();
,並刪除一切有關生日會工作確定。 任何人都可以啓發我嗎?
@NickLH是。雖然它沒有在我提供的代碼中初始化掃描器。 – Favolas