import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
// インスタンスの配列生成
Student[] students = new Student[3];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < students.length; i++){
System.out.println(i + "人目の学生の情報を入力してください。");
System.out.print("名前:");
String name = br.readLine();
System.out.print("所属キャンパス:");
String campus = br.readLine();
System.out.print("学年:");
int grade = Integer.parseInt(br.readLine());
System.out.print("学籍番号:");
int id = Integer.parseInt(br.readLine());
students[i] = new Student(name, campus, grade, id);
}
br.close();
for (int i = 0; i < students.length; i++){
students[i].introduce();
}
}
}
// 学生のクラス
class Student {
// フィールド
private String name; // 名前
private String campus; // 所属キャンパス
private int grade; // 学年
private int id; // 学籍番号
// クラス変数
private static int count = 0;
// クラスメソッド
static void printCount() {
System.out.println("学生は" + count + "人です。");
}
// デフォルトコンストラクタ
Student() {
setName("名無し");
setCampus("青森");
setGrade(1);
setId(0);
count++;
}
// コンストラクタ
Student(String name, String campus, int grade, int id) {
setName(name);
setCampus(campus);
setGrade(grade);
setId(id);
count++;
}
// 自己紹介
void introduce() {
System.out.print("私は" + name + "です。");
System.out.print(campus + "キャンパスの" + grade + "年生です。");
System.out.println("学籍番号は" + id + "です。");
}
// 情報変更 (名前とキャンパス)
void changeInfo(String name, String campus) {
setName(name);
setCampus(campus);
}
// 情報変更 (学年と学籍番号)
void changeInfo(int grade, int id) {
setGrade(grade);
setId(id);
}
// セッタ (setter)
void setName(String name) {
this.name = name;
}
void setCampus(String campus) {
this.campus = campus;
}
void setGrade(int grade) {
this.grade = grade;
}
void setId(int id) {
this.id = id;
}
// ゲッタ (getter)
String getName() {
return name;
}
String getCampus() {
return campus;
}
int getGrade() {
return grade;
}
int getId() {
return id;
}
}
実行結果
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
// インスタンスの配列生成
Student[] students = new Student[10];
// ファイルから学生情報を読み込む
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
for (int i = 0; i < students.length; i++){
String line = br.readLine();
String[] data = line.split(",");
String name = data[0];
String campus = data[1];
int grade = Integer.parseInt(data[2]);
int id = Integer.parseInt(data[3]);
students[i] = new Student(name, campus, grade, id);
}
br.close();
for (int i = 0; i < students.length; i++){
students[i].introduce();
}
}
}
// 学生のクラス
class Student {
// フィールド
private String name; // 名前
private String campus; // 所属キャンパス
private int grade; // 学年
private int id; // 学籍番号
// クラス変数
private static int count = 0;
// クラスメソッド
static void printCount() {
System.out.println("学生は" + count + "人です。");
}
// デフォルトコンストラクタ
Student() {
setName("名無し");
setCampus("青森");
setGrade(1);
setId(0);
count++;
}
// コンストラクタ
Student(String name, String campus, int grade, int id) {
setName(name);
setCampus(campus);
setGrade(grade);
setId(id);
count++;
}
// 自己紹介
void introduce() {
System.out.print("私は" + name + "です。");
System.out.print(campus + "キャンパスの" + grade + "年生です。");
System.out.println("学籍番号は" + id + "です。");
}
// 情報変更 (名前とキャンパス)
void changeInfo(String name, String campus) {
setName(name);
setCampus(campus);
}
// 情報変更 (学年と学籍番号)
void changeInfo(int grade, int id) {
setGrade(grade);
setId(id);
}
// セッタ (setter)
void setName(String name) {
this.name = name;
}
void setCampus(String campus) {
this.campus = campus;
}
void setGrade(int grade) {
this.grade = grade;
}
void setId(int id) {
this.id = id;
}
// ゲッタ (getter)
String getName() {
return name;
}
String getCampus() {
return campus;
}
int getGrade() {
return grade;
}
int getId() {
return id;
}
}
実行結果
data.txt (例)
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
// インスタンスの配列生成
Student[] students = new Student[10];
// ファイルから学生情報を読み込む
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
for (int i = 0; i < students.length; i++){
String line = br.readLine();
String[] data = line.split(",");
String name = data[0];
String campus = data[1];
int grade = Integer.parseInt(data[2]);
int id = Integer.parseInt(data[3]);
students[i] = new Student(name, campus, grade, id);
}
br.close();
// 2年生だけに自己紹介させる
System.out.println("2年生の学生は以下の通りです。");
for (int i = 0; i < students.length; i++){
if (students[i].getGrade() == 2){
students[i].introduce();
}
}
// 青森キャンパス所属の人だけに自己紹介させる
System.out.println("青森キャンパス所属の学生は以下の通りです。");
for (int i = 0; i < students.length; i++){
if (students[i].getCampus().equals("青森")){
students[i].introduce();
}
}
}
}
// 学生のクラス
class Student {
// フィールド
private String name; // 名前
private String campus; // 所属キャンパス
private int grade; // 学年
private int id; // 学籍番号
// クラス変数
private static int count = 0;
// クラスメソッド
static void printCount() {
System.out.println("学生は" + count + "人です。");
}
// デフォルトコンストラクタ
Student() {
setName("名無し");
setCampus("青森");
setGrade(1);
setId(0);
count++;
}
// コンストラクタ
Student(String name, String campus, int grade, int id) {
setName(name);
setCampus(campus);
setGrade(grade);
setId(id);
count++;
}
// 自己紹介
void introduce() {
System.out.print("私は" + name + "です。");
System.out.print(campus + "キャンパスの" + grade + "年生です。");
System.out.println("学籍番号は" + id + "です。");
}
// 情報変更 (名前とキャンパス)
void changeInfo(String name, String campus) {
setName(name);
setCampus(campus);
}
// 情報変更 (学年と学籍番号)
void changeInfo(int grade, int id) {
setGrade(grade);
setId(id);
}
// セッタ (setter)
void setName(String name) {
this.name = name;
}
void setCampus(String campus) {
this.campus = campus;
}
void setGrade(int grade) {
this.grade = grade;
}
void setId(int id) {
this.id = id;
}
// ゲッタ (getter)
String getName() {
return name;
}
String getCampus() {
return campus;
}
int getGrade() {
return grade;
}
int getId() {
return id;
}
}
実行結果
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
// インスタンスの配列生成
Student[] students = new Student[10];
// ファイルから学生情報を読み込む
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
for (int i = 0; i < students.length; i++){
String line = br.readLine();
String[] data = line.split(",");
String name = data[0];
String campus = data[1];
int grade = Integer.parseInt(data[2]);
int id = Integer.parseInt(data[3]);
students[i] = new Student(name, campus, grade, id);
}
br.close();
// 2年生の情報だけを「2.txt」に書き込む
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("2.txt")));
for (int i = 0; i < students.length; i++){
if (students[i].getGrade() == 2){
pw.println(students[i].getName() + "," + students[i].getCampus() + "," + students[i].getGrade() + "," + students[i].getId());
}
}
pw.close();
// 青森キャンパス所属の人の情報だけを「aomori.txt」に書き込む
pw = new PrintWriter(new BufferedWriter(new FileWriter("aomori.txt")));
for (int i = 0; i < students.length; i++){
if (students[i].getCampus().equals("青森")){
pw.println(students[i].getName() + "," + students[i].getCampus() + "," + students[i].getGrade() + "," + students[i].getId());
}
}
pw.close();
}
}
// 学生のクラス
class Student {
// フィールド
private String name; // 名前
private String campus; // 所属キャンパス
private int grade; // 学年
private int id; // 学籍番号
// クラス変数
private static int count = 0;
// クラスメソッド
static void printCount() {
System.out.println("学生は" + count + "人です。");
}
// デフォルトコンストラクタ
Student() {
setName("名無し");
setCampus("青森");
setGrade(1);
setId(0);
count++;
}
// コンストラクタ
Student(String name, String campus, int grade, int id) {
setName(name);
setCampus(campus);
setGrade(grade);
setId(id);
count++;
}
// 自己紹介
void introduce() {
System.out.print("私は" + name + "です。");
System.out.print(campus + "キャンパスの" + grade + "年生です。");
System.out.println("学籍番号は" + id + "です。");
}
// 情報変更 (名前とキャンパス)
void changeInfo(String name, String campus) {
setName(name);
setCampus(campus);
}
// 情報変更 (学年と学籍番号)
void changeInfo(int grade, int id) {
setGrade(grade);
setId(id);
}
// セッタ (setter)
void setName(String name) {
this.name = name;
}
void setCampus(String campus) {
this.campus = campus;
}
void setGrade(int grade) {
this.grade = grade;
}
void setId(int id) {
this.id = id;
}
// ゲッタ (getter)
String getName() {
return name;
}
String getCampus() {
return campus;
}
int getGrade() {
return grade;
}
int getId() {
return id;
}
}
2.txt
aomori.txt