Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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/1/vb.net/16.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 使用布尔运算符返回null的if-else语句_Java_If Statement_Boolean_Boolean Logic - Fatal编程技术网

Java 使用布尔运算符返回null的if-else语句

Java 使用布尔运算符返回null的if-else语句,java,if-statement,boolean,boolean-logic,Java,If Statement,Boolean,Boolean Logic,这是我第一次提出问题,所以我不确定我的标题是否正确,因为我对java非常陌生。。。基本上,当名称中没有空格时,我的程序在changeNameFormat方法中返回所有null,但我希望它做的是打印出“您的名称中没有空格”,然后转到下一个方法。目前我的代码如下,至少在逻辑上对我来说是合理的,但我不是专家 import java.util.*; public class Lab11 { static String name, first, last, word; static b

这是我第一次提出问题,所以我不确定我的标题是否正确,因为我对java非常陌生。。。基本上,当名称中没有空格时,我的程序在changeNameFormat方法中返回所有null,但我希望它做的是打印出“您的名称中没有空格”,然后转到下一个方法。目前我的代码如下,至少在逻辑上对我来说是合理的,但我不是专家

import java.util.*;

public class Lab11 {

    static String name, first, last, word;
    static boolean space;

    public static void main(String [] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Input your name: ");
        name = input.nextLine();
        changeNameFormat();
        if (space = true) {
            System.out.println("Your name is : " + first + " " + last);
            System.out.println("Your first name is : " + first);
            System.out.println("Your last name is : " + last);
        }
        else {
            System.out.println("Your name contains no spaces");
        }
        System.out.println("Input word for palindrome test: ");
        word = input.nextLine();
        if (palindrome(word)) {
            System.out.println(word + " is a palindrome");
        }
        else {
            System.out.println(word + " is NOT a palindrome");
        }
    }

    public static void changeNameFormat() {
        if (name.contains(" ")) {
            String [] split = name.split(" ", 2);
            first = split[0];
            String last = split[1];
            space = true;
        }
        else {
            space = false;
        }
    }

    public static boolean palindrome(String w) {
        System.out.println("Checking if " + word + " is a palindrome.");
        System.out.println("... Loading...");
        String reverse = "";
        for (int i = w.length() - 1 ; i >= 0 ; i--) {
            reverse = reverse + w.charAt(i);
        }
        if (w.equalsIgnoreCase(reverse)) { // case insensitive check
            return true;
        }
        else {
            return false;
        }
    }
}

由于疏忽而犯的一个很小的错误

您使用了一个equals赋值运算符(
=
),它将
true
赋值给
空格
。如果要检查空格是否为true,则需要双等于比较运算符(
=
):

请注意,一种更好、更惯用的写作方式是:

if (space)

另外,您的
ChangeNameFormat()
方法将
最后一个
变量本地化,以防您没有注意到。

由于疏忽造成的一个非常小的错误

您使用了一个equals赋值运算符(
=
),它将
true
赋值给
空格
。如果要检查空格是否为true,则需要双等于比较运算符(
=
):

请注意,一种更好、更惯用的写作方式是:

if (space)
另外,您的
ChangeNameFormat()
方法将
最后一个
变量本地化,以防您没有注意到。

非常感谢:)不敢相信我没有听清楚谢谢:)不敢相信我没有听清楚