Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
退出Java中的程序_Java - Fatal编程技术网

退出Java中的程序

退出Java中的程序,java,Java,我的任务是用Java编写Health Analyzer应用程序。 这是第一步: 用户必须输入男性(大写或小写)或女性(大写或小写)表示性别,或退出(大写或小写)表示退出程序。如果用户输入了一个无法识别性别的单词(不是男性、女性或退出),则程序将显示“性别选择错误!”,并退出。 这就是我一直在做的。我唯一缺少的是,它将“退出”读作“错误的性别选择”,而它应该说“感谢您使用此应用程序” 你的逻辑在这里有点颠倒 当您进入退出-第一个如果( )将评估为真实,因为它既不是女人也不是男人 你可能应该用真实的

我的任务是用Java编写Health Analyzer应用程序。 这是第一步:

用户必须输入男性(大写或小写)或女性(大写或小写)表示性别,或退出(大写或小写)表示退出程序。如果用户输入了一个无法识别性别的单词(不是男性、女性或退出),则程序将显示“性别选择错误!”,并退出。

这就是我一直在做的。我唯一缺少的是,它将“退出”读作“错误的性别选择”,而它应该说“感谢您使用此应用程序”


你的逻辑在这里有点颠倒

当您进入退出-第一个如果(

)将评估为真实,因为它既不是女人也不是男人

你可能应该用真实的评估来做

if (man.equals(gender) || woman.equals(gender)) {
doSomeStuffHere
}
else if (exit.equals(gender)) {
exitProgramHere
}
else { 
printWrongGenderHere
}

另外,不要使用equals,而是使用equalsIgnoreCase。这里的逻辑有点颠倒

当您进入退出-第一个如果(

)将评估为真实,因为它既不是女人也不是男人

你可能应该用真实的评估来做

if (man.equals(gender) || woman.equals(gender)) {
doSomeStuffHere
}
else if (exit.equals(gender)) {
exitProgramHere
}
else { 
printWrongGenderHere
}

另外,不要使用equals,而是使用equalsIgnoreCase,因为您在输入字符串上使用toLowerCase来转换为小写。您应该仅将字符串与小写进行比较

gender = scan.nextLine().toLowerCase();
String man = "man"; 
String woman = "woman"; 
String exit = "exit"; 
否则,您可以使用equalsIgnoreCase忽略区分大小写

if (gender.equals(exit)) {
    System.out.println("\t\t *** Thank you for using this Application ***");
    System.exit(0);
}
else if (! (gender.equals(man) || gender.equals(woman)) ) {
    System.out.println("\t Wrong Selection of gender!");
    System.exit(0); 
}

因为您在输入字符串上使用toLowerCase来转换为小写。您应该仅将字符串与小写进行比较

gender = scan.nextLine().toLowerCase();
String man = "man"; 
String woman = "woman"; 
String exit = "exit"; 
否则,您可以使用equalsIgnoreCase忽略区分大小写

if (gender.equals(exit)) {
    System.out.println("\t\t *** Thank you for using this Application ***");
    System.exit(0);
}
else if (! (gender.equals(man) || gender.equals(woman)) ) {
    System.out.println("\t Wrong Selection of gender!");
    System.exit(0); 
}

你的问题是什么?如果语句中的括号是错误的。此外,代码中目前没有处理大小写问题。为什么它将Exit读为错误选择?它应该说“谢谢你使用这个应用程序”,然后退出,因为第一个
如果
测试说“如果性别不是‘男人’或者性别是‘女人’,那么退出”@pointy这是有道理的,但即使我切换了它们,它仍然会将其视为一个错误的选择。你的问题是什么?如果
语句中的括号是错误的。此外,代码中目前没有处理大小写问题。为什么它将Exit读为错误选择?它应该说“谢谢你使用这个应用程序”,然后退出,因为第一个
如果
测试说“如果性别不是‘男人’或者性别是‘女人’,那么退出”@pointy这是有道理的,但即使我切换了它们,它仍然会将其视为错误选择,但是等等,它现在将女性视为错误选择。。原因是什么?请精确检查代码中的括号。我已经编写了示例代码,为您提供了前进的基本思路,因为这是您的任务。干杯但是等等,现在看来女人是错误的选择。。原因是什么?请精确检查代码中的括号。我已经编写了示例代码,为您提供了前进的基本思路,因为这是您的任务。干杯