Java if语句字符串等
今晚我决定尝试用java学习一些东西,我只是在尝试一些我学到的东西 我的问题是在一个if语句中,如何使两个刺痛成为真。这是我到目前为止所拥有的Java if语句字符串等,java,eclipse,if-statement,Java,Eclipse,If Statement,今晚我决定尝试用java学习一些东西,我只是在尝试一些我学到的东西 我的问题是在一个if语句中,如何使两个刺痛成为真。这是我到目前为止所拥有的 if ("male".equals(gender)) && ("brendan".equals(name)) 我很确定的问题是&&但是我不确定 编辑编辑 这是问题的固定部分。 if(“男性”等于(性别)和&“布伦丹”等于(姓名)) 这件事也是如此 if (("male".equals(gender)) && ("bren
if ("male".equals(gender)) && ("brendan".equals(name))
我很确定的问题是&&但是我不确定
编辑编辑
这是问题的固定部分。if(“男性”等于(性别)和&“布伦丹”等于(姓名))
这件事也是如此
if (("male".equals(gender)) && ("brendan".equals(name)))
现在我将发布整个事情,我现在有另一个问题,你可能需要看到整个事情
import java.util.Scanner;
public class my_input_and_if_statements
{
public static void main (String args[])
{
Scanner jonks = new Scanner(System.in);
String name, gender, answer;
System.out.println("What is your name?");
name = jonks.next();
System.out.print("Hello ");
System.out.print( name);
System.out.println(" are you male or female?");
gender = jonks.next();
if (("male".equals(gender)) && ("brendan".equals(name)))
{
System.out.println("blah blah");
}
else
{
System.out.println(" Welcome to one of my first java applications. I hope you like it");
}
if (("female".equals(gender)) && ("nicole".equals(name)))
{
System.out.println("blah blah 2");
}
else
{
System.out.println(" Welcome to one of my first java applications. I hope you like it");
}
}
}
抱歉,如果在我开始学习更多之前,试图把一些东西结合在一起,这似乎是毫无意义的
现在当我通过它时,当它结束时会给我两行,或者它会给我两行
if (("male".equals(gender)) && ("brendan".equals(name)))
^ ^
if(condition)
需要括号
对于多重比较,可以使用男性或女性,而不是两者,因此可以使用嵌套的if..else
构造
否则,您将不必要地对每个姓名执行男性/女性评估。以下内容对我来说似乎更自然
我认为问题在于你的括号
if ("male".equals(gender) && "brendan".equals(name))
if语句的形式为if(condition)
,其中condition
是一些布尔表达式。在本例中,您希望条件为“男性”.equals(性别)&&&&“Brendan”.equals(姓名)
,因此您的完整声明应如下所示:
if("male".equals(gender) && "Brendan".equals(name)) {
//Foo Blah blah
}
else {
//Barr fuzz fuzz
}
if(gender.equals("male") && name.equals("Brendan")) {
println("Brendan's Message");
}
else if(gender.equals("female") && name.equals("Nicole")) {
println("Nicole's Message");
}
else {
println("Anybody's Message");
}
对于问题的第二部分,您有两个if
语句,它们都打印在if
和else
分支上,因此,您将点击第一个if
中的一个或另一个println
语句,以及第二个if
中的一个或另一个println
语句。我想你可能想做的事情如下:
if("male".equals(gender) && "Brendan".equals(name)) {
//Foo Blah blah
}
else {
//Barr fuzz fuzz
}
if(gender.equals("male") && name.equals("Brendan")) {
println("Brendan's Message");
}
else if(gender.equals("female") && name.equals("Nicole")) {
println("Nicole's Message");
}
else {
println("Anybody's Message");
}
缺少一个(
)和多余的括号
if ("male".equals(gender) && "brendan".equals(name))
我想他想了解Enum,比如
public enum Gender
{
MALE = "Male";
FEMALE = "Female";
}
或者这个我真的看不到这里的问题。它按预期工作。找到它的方法是运行它。请发布可编译的代码。我认为“错误”已经从问题中删除了。现在回答你问题的第二部分了吗?这两个问题并不完全相同。一个可以抛出NPE,另一个我想不出来。好的观点。让我编辑我我不认为大括号是多余的,尽管这是一个有争议的问题:@Edd对不起,我指的是括号。从来没有想过这样做,但当你考虑它时,它确实是有意义的。但它打开了另一个问题。就像你上面所说的。你如何做第二个呢?所以它是h就好像(男性).equals(性别){if(布伦丹).equals(姓名){System.out}else{System.out}//这部分?else
格式不正确。请稍等。@user1820578在这种情况下,基于&
的解决方案可能会更好。但是如果您以后想添加更多条件,则会更难。我会在else中实现它,如System.out.println(“错错”+性别);
为了区分这两个失败的案例。@user1820578我已经更新了我的答案。在你的代码中,你在上面的循环中测试女性,即使在确定是否男性之后,这是不必要的。