case2的if句我不管输入什么这里输出都是all is true, you can log in和error,没有进行判断。主要出现在第二次logon,然后再login就无法判断了。
import java.util.Scanner;
public class Test {
public static void main(String[] args){
String[]usersname=new String[50];
String[]passwords=new String[50];
String[]phonenumber=new String[50];
Scanner input =new Scanner(System.in);
for1:for(int n=0;n<50;n++){
System.out.println("enter a number: ");
System.out.println("1.logon");
System.out.println("2.login");
System.out.println("3.forget");
System.out.println("4.exit");
int situation=input.nextInt();
switch (situation) {
case 1:
System.out.println("input your name:");
String name=input.next();
System.out.println("input your passwords:");
String words=input.next();
System.out.println("input your phone numbers:");
String numbers=input.next();
usersname[n]=name;
passwords[n]=words;
phonenumber[0]=numbers;
continue for1;
case 2:
System.out.println("input your name:");
String name1=input.next();
System.out.println("input your passwords:");
String words1=input.next();
boolean flag=false;
for(int i=0;i<50;i++){
if(usersname[i].equals(name1) && passwords[i].equals(words1)){
flag=true;
break;
}
if (flag){
System.out.println("all is true, you can log in.");
}else{
System.out.println("error");
}
}
continue for1;
case 3:
case 4:
break for1;
default:
System.out.println("error");
}
}
}
}