【发布时间】:2015-01-07 02:27:03
【问题描述】:
这是我第一次提出问题,所以我不确定我的标题是否正确,因为我对 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;
}
}
}
【问题讨论】:
标签: java if-statement boolean boolean-logic