代码运行良好,但是当我输入错误的用户名时,它只是终止而没有任何输出。有关此代码的任何提示或建议吗?我知道我可以使用if... else
,但我尝试使用switch
执行此操作。
package frame.security;
import java.util.Scanner;
public class FrameIntel {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String Username;
System.out.println("Enter Username:" );
Username=sc.nextLine();
String Password;
System.out.println("Enter Password: ");
Password=sc.nextLine();
switch(Username) {
case"Winford Coloma":
if("TwelveEleven".equals(Password)) {
System.out.println("Senior Software Engineer");
System.err.println("Limited Access to Sandbox!(4)");
break;
}
else {
System.err.println("Access Denied!");
System.exit(0);
}
case"Lynelle Marten":
if("TwelveSixteen".equals(Password)) {
System.out.println("Test Administrator");
System.err.println("Limited Access to Sandbox!(5)");
break;
}
else {
System.err.println("Access Denied");
System.exit(0);
}
case"Luis Ansley":
if("TwelveTwenty".equals(Password)) {
System.out.println("Software Engineer");
System.err.println("Controlled Access to Sandbox!(Clog)");
break;
}
else {
System.err.println("Access Denied");
System.exit(0);
}
case"Shantay Dority":
if("TwelveTwentyFour".equals(Password)) {
System.out.println("Programmer");
System.err.println("Implement only(Sandbox)!");
break;
}
else {
System.err.println("Access Denied");
System.exit(0);
}
case"Tangela Norsworthy":
if("TwelveTwentySeven".equals(Password)){
System.out.println("CEO");
System.err.println("Full access to Sandbox!");
break;
}
else {
System.err.println("Access Denied");
System.exit(0);
}
}
}
}
答案 0 :(得分:0)
您没有default
语句,因此您的代码只能使用case
语句中编写的用户名
答案 1 :(得分:0)
您使用切换语句而没有默认大小写。 没有" case"时使用默认情况。点击匹配。
在案例"Tangela Norsworthy"
之后添加这些行:
default: {
System.err.println("Username not recognised");
System.exit(0);
}
0
in" System.exit();
"表示该应用程序退出时没有问题。您应该使用其他值作为指示存在一些问题。 (即System.exit(1) - > 1 =用户名无效,System.exit(2) - > 2 =密码无效)