私のプログラミングコードについて聞いてみたいと思います。間違いがあるようです。以下のコードを確認してください。期待していたものではありませんでした。問題は、私は正しいユーザー名を帰しているが、それは再び繰り返されることである。私は実際には問題はこれらの2つの方法であるすべてのあなたの答えJavaでサインアップとログインIDを作成する方法
static Scanner scan;
static ArrayList<String> EmailList;
static ArrayList<String> FullNameList;
static ArrayList<String> UsernameList;
static ArrayList<String> PasswordList;
public static void clear(){
for(int i =0; i < 24; i++){
System.out.println();
}
}
public static boolean ouragreement (String agreement){
if(agreement.isEmpty()){
return false;
}
else if(agreement.equalsIgnoreCase("N") || agreement.equalsIgnoreCase ("No")){
return false;
}
return true;
}
public static boolean validateusername (String username, ArrayList<String>UsernameList){
if(username.isEmpty()){
System.out.println("Username cannot be empty");
return false;
}
else if(!username.equals(UsernameList.size())){
System.out.println("Please input again your username");
return false;
}
return true;
}//validateusername
public static boolean validatepassword(String password, ArrayList<String>PasswordList){
if(password.isEmpty()){
System.out.println("Password cannot be empty");
return false;
}
else if(!password.equals(PasswordList.size())){
System.out.println("Please input again your password");
return false;
}
return true;
}//validatepassword
public static void case1(){
String email, fullname, username, password, agreement;
System.out.print("Input your email : ");
email = scan.nextLine();
System.out.print("Input your Full name : ");
fullname = scan.nextLine();
System.out.print("Input your username : ");
username = scan.nextLine();
System.out.print("Input your password : ");
password = scan.nextLine();
EmailList.add(email);
FullNameList.add(fullname);
UsernameList.add(username);
PasswordList.add(password);
do{
System.out.print("If you say Yes[Y], you agreed to our Terms & Privacy Policy [Y/N] : ");
agreement = scan.nextLine();
}while(!ouragreement(agreement));
clear();
System.out.println("Sign Up Success!");
System.out.println();
}//case1
public static void case2(){
String username,password;
do{
System.out.print("Username : ");
username = scan.nextLine();
}while(!validateusername(username,UsernameList));
do{
System.out.print("Password : ");
password = scan.nextLine();
}while(!validatepassword(password,PasswordList));
System.out.println("Welcome");
}//case2
public static void inisialisasi(){
scan = new Scanner (System.in);
EmailList = new ArrayList<>();
FullNameList = new ArrayList <>();
UsernameList = new ArrayList<>();
PasswordList = new ArrayList<>();
}//inisialisasi
public static void main (String [] args){
inisialisasi();
int choose;
do{
System.out.println("\tKOSTFINDER APPLICATION");
System.out.println("\t======================\n");
System.out.println("Welcome to KostFinder Application, please choose option below");
System.out.println("1. Sign up");
System.out.println("2. Login");
System.out.print("Choose :");
choose = scan.nextInt(); scan.nextLine();
switch(choose){
case 1 :
case1();
break;
case 2 :
case2();
break;
}
}while(choose != 101);
}//main
}//public class
if(!username.equals(UsernameList.size()))は、文字列をintと比較しているため、常にtrueになる –
おそらくリストにあなたのユーザ名が含まれているかどうかをチェックしたい –
将来的にスローされたエラーを表示します。を参照してください:[質問]。あなたはまた、投稿する前に2分間のサイトツアーを完了するのにも気にしませんでした。 –