public class Main_0802 {
public static void main(String[] args) {
Student[] students = new Student[3];
for (int i = 0; i < students.length; i++) {
System.out.println((i + 1)+"番目の生徒の名前を、2~12 文字で入力してください。");
String name = new java.util.Scanner(System.in).next();
students[i] = new Student();
students[i].number = i + 1;
students[i].name = name;
}
//生徒一覧出力
System.out.println("\n**生徒一覧**");
System.out.println("no\t:name");
System.out.println("----------------------");
for (int i = 0; i < students.length; i++) {
System.out.println(students[i].number + "\t:" + students[i].name);
}
}
}
class Student {
int number;
String name;
}
実行例
① 番目の生徒の名前を、2~12 文字で入力してください。 山田太郎 ② 番目の生徒の名前を、2~12 文字で入力してください。 あ ③ 番目の生徒の名前を、2~12 文字で入力してください。 佐藤花子
**生徒一覧** no :name
—————————— 1 :山田太郎 2 :エラー::入力された文字数が不正です 3 :佐藤花子
問題 2 解答
正解は、、、
public class Main_0802_answer {
public static void main(String[] args) {
Student2[] students = new Student2[3];
for (int i = 0; i < students.length; i++) {
System.out.println((i + 1) + "番目の生徒の名前を、2~12 文字で入力してください。");
String name = new java.util.Scanner(System.in).next();
students[i] = new Student2();
students[i].setNumber(i + 1);
students[i].setName(name);
}
//生徒一覧出力
System.out.println("\n**生徒一覧**");
System.out.println("no\t:name");
System.out.println("----------------------");
for (int i = 0; i < students.length; i++) {
System.out.println(
students[i].getNumber() + "\t:" + students[i].getName());
}
}
}
class Student2 {
private int number;
private String name;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
if (2 <= name.length() && name.length() <= 12) {
this.name = name;
} else {
this.name = "エラー::入力された文字数が不正です";
}
}
}
コメント