java 会員登録プログラム
2番目の参照で困ってます。Member.java といったクラスファイルを使ってます。コンストラクタやゲッター、セッター等が入ってます。省略箇所有りですがどうぞ宜しくお願いします。
public class MemberSystem {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try{
//loopを使い随時メニュー表示
boolean loop = true;
while(loop){
System.out.println("");
System.out.println("ご希望のオプション番号を選択してください");
System.out.println("1>>登録 2>>参照 3>>検索 4>>削除 5>>保存 6>>読込 7>>終了");
String line = reader.readLine();
int n = Integer.parseInt(line);
//ArrayList<Member>型のインスタンスを作成し、ArrayList<Member>型の変数rに代入
ArrayList<Member> r = new ArrayList<Member>();
switch (n) {
case 1: System.out.println("登録>> 各情報を入力すると登録できます");
System.out.println("氏名");
String inputName = reader.readLine();
//エラーチェック 空入力
if(inputName.length() == 0){
System.out.println("空入力のため終了");
System.exit(0);
}
System.out.println("生年月日 例)2013/01/01");
String inputBirth = reader.readLine();
//エラーチェック 空入力
if(inputBirth.length() == 0){
System.out.println("空入力のため終了");
System.exit(0);
}
System.out.println("電話番号 例) 0901234567");
String inputTel = reader.readLine();
//エラーチェック 空入力
if(inputTel.length() == 0){
System.out.println("空入力のため終了");
System.exit(0);
}
//reader.redLineで取得したString型の情報を代入
r.add(new Member(inputName, inputBirth, inputTel));
System.out.println("下記、入力情報をストアし、会員ID番号を付加しました");
//入力情報と会員ID番号を表示
for(Member inputResult:r){
System.out.print(inputResult);
}
break;
case 2: System.out.println("参照>> ご希望の会員情報を表示します");
System.out.println("会員ID番号を入力してください 例)0001");
//キーボード入力からデータを呼び込む
String inputMemberID = reader.readLine();
//ここがうまくいきません。
for(Member inputResult :r) {
if(inputMemberID.equals(inputResult.getID())){
//データ取得
System.out.println(inputResult);
//エラーチェック 空入力
}else if(inputMemberID.length() == 0){
System.out.println("空入力のため終了");
System.exit(0);
//エラーチェック 番号がない時や一致していない時
}else{
System.out.println("あなたの会員ID番号は該当しません");
System.exit(0);
}
}
break;
case 3: System.out.println("検索>> ご希望の会員を検索します 検索方法を番号で選択してください");
System.out.println("1>>氏名 2>>生年月日 3>>電話番号");
//switchを使い、検索選択肢を表示
String search = reader.readLine();
int x = Integer.parseInt(search);
switch (x) {
case 1: System.out.println("氏名");
String searchName = reader.readLine();
for(Member inName : r) {
if (searchName.equals(inName.getName())){
System.out.print(inName);
}
}
break;
case 2: System.out.println("生年月日");
String searchBirth = reader.readLine();
break;
default: System.out.println("電話番号");
String searchTel = reader.readLine();
break;
}
break;
case 4: System.out.println("削除>> ご希望の会員を削除します");
System.out.println("会員ID番号を入力してください 例)0001");
String deleteMemeb
お礼
よくわかりました。 ありがとうございました。