適当な数字を入れた場合にエラーではなく ”4”という謎の数字が出力されてしまう
java
1 2import java.util.Scanner; 3public class Kadai1203 { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 7 LoginManager logmana = new LoginManager(); 8 System.out.print("Select(LI:Login PU:PrintUser E:End)--> "); 9 String select = sc.next(); 10 while("E".equals(select) != true) { 11 if("LI".equals(select)) { 12 System.out.print("UserId --> "); 13 String userid = sc.next(); 14 System.out.print("Password --> "); 15 String pass = sc.next(); 16 User user = new User(userid,pass); 17 try { 18 logmana.login(user); 19 System.out.println("Login is Successful."); 20 } 21 catch(Exception e) { 22 System.out.println(e.getMessage()); 23 } 24 } 25 else if("PU".equals(select)) { 26 System.out.println("UserId : " + logmana.getLoginUser().getUserid()); 27 System.out.println("Password : " + logmana.getLoginUser().getPassword()); 28 } 29 System.out.println(); 30 System.out.print("Select(LI:Login PU:PrintUser E:End)--> "); 31 select = sc.next(); 32 } 33 } 34}
java
1public class User { 2 private String userid; //ユーザID 3 private String password; //パスワード 4 User(String userid,String password){ 5 this.userid = userid; 6 this.password = password; 7 } 8 String getUserid() { 9 return userid; 10 } 11 String getPassword() { 12 return password; 13 } 14}
java
1public class LoginManager { 2 private User loginUser = null;//ログイン中のユーザ 3 private User[] userList = { new User("user01","Denshi"), //登録済みユーザの配列 4 new User("user05","Qazwsx"), 5 new User("user12","PoiUytRewq"), 6 new User("user21","ZxcVbnm") 7 }; 8 User getLoginUser() { 9 return loginUser; 10 } 11 void login(User user) throws Exception { //引数で受け取ったユーザのIDの組み合わせが登録済みならログイン成功とし、ログイン中のユーザをセットする。登録済みでないときは、ログイン中のユーザををnullにして、("UserId or Password Error")のエラーメッセージをセットしたException例外をスローする 12 for(int i = 0;i <= userList.length;i++) { 13 if(userList[i].getUserid().equals(user.getUserid())) { 14 if(userList[i].getPassword().equals(user.getPassword())) { 15 loginUser = user; 16 break; 17 } 18 } 19 } 20 if(loginUser != user) { 21 throw new Exception("UserId or Password Error"); 22 } 23 } 24}
java
1Select(LI:Login PU:PrintUser E:End)--> LI 2UserId --> sss 3Password --> sss 44 //謎の数字 5Select(LI:Login PU:PrintUser E:End)-->
回答3件
あなたの回答
tips
プレビュー