我正在学习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