很抱歉,如果标题没有意义。基本上,我是一个菜鸟,为了学习目的,我正在尝试创建一个基本程序,首先要求性别,然后确定年龄以确定访问权限。该程序是性别歧视的,用于测试目的。无论如何,继承人我所拥有的:
System.out.println("What is your Gender?");
String gender = input.nextLine();
if (gender.equals ("male")){
System.out.println("What is your age?");
int agem = input.nextInt();
if (agem >= 21 && agem < 65){
System.out.println("Access Granted");
}else{
System.out.println("Access Denied");
}
}
if (gender.equals ("female")){
System.out.println("What is your age?");
int agef = input.nextInt();
if (agef >=18 && agef < 60){
System.out.println("Access Granted");
}else{
System.out.println("Access Denied");
}
}
现在我要做的是创建一个响应,以防用户输入“男性”或“女性”以外的内容。我已经尝试过使用else,因为if语句都是false但是没有用。
我还尝试创建另一个if语句,如下所示:
if(!gender.equals(“male”)||(“female”));
但这也不起作用。
由于
答案 0 :(得分:2)
作为即时解决方案,您需要在最后添加以下条件
if (!(gender.equals ("male") || gender.equals("female")));
或
if (!gender.equals ("male") && !gender.equals("female"));
但为避免不必要的条件检查,整个条件应如下所示:
if (gender.equals ("male")){
//
}
else if (gender.equals ("female")){
//
} else {
}
从java 7开始,你也可以使用字符串库switch语句:
switch(value){
case "male":
//todo
break;
case "female"
//todo
break;
default:
//todo
}
答案 1 :(得分:1)
这将有效:
if (gender.equals ("male") || gender.equals("female"))
{
//input is okay, do something
}
else
{
//input is not "male" or "female"
}
答案 2 :(得分:1)
你也可以使用开关:
switch(gender) {
case "male":
break;
case "female":
break;
default: //everything else
}
编辑:字符串开关自java 7开始工作
答案 3 :(得分:0)
您可能需要重新构建程序以使用if
,else if
,else
。
例如:
System.out.println("What is your Gender?");
String gender = input.nextLine();
if (gender.equals ("male")){
System.out.println("What is your age?");
int agem = input.nextInt();
if (agem >= 21 && agem < 65){
System.out.println("Access Granted");
}else{
System.out.println("Access Denied");
}
} else if (gender.equals ("female")){
System.out.println("What is your age?");
int agef = input.nextInt();
if (agef >=18 && agef < 60){
System.out.println("Access Granted");
}else{
System.out.println("Access Denied");
}
} else {
System.out.println("Unrecognized input.");
}
这有点简洁,因为如果 male 分支已被执行,它就不可能执行 female 分支,并且它不可能如果 male 或 female 分支已执行,则执行无法识别的分支。
答案 4 :(得分:0)
最快的解决方案是使用:
if (gender.equals("Male")) {
} else if (gender.equals("Female")) {
} else {
}