Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 if语句字符串等_Java_Eclipse_If Statement - Fatal编程技术网

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

今晚我决定尝试用java学习一些东西,我只是在尝试一些我学到的东西

我的问题是在一个if语句中,如何使两个刺痛成为真。这是我到目前为止所拥有的

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我已经更新了我的答案。在你的代码中,你在上面的循环中测试女性,即使在确定是否男性之后,这是不必要的。