我正在尝试获取用户输入并确定该单词是否是回文。主要方法应该是放置所有打印语句的地方。
package help;
import java.util.Scanner;
public class Help {
public static Scanner user_input;
public static void main(String[] args, Iterable<String> lines) {
System.out.print("Enter a word: ");
user_input=new Scanner(System.in);
}
public static boolean istPalindrom(char[] word) {
int i1 = 0;
int i2 = word.length - 1;
while (i2 > i1) {
if (word[i1] != word[i2]) {
return false;
}
++i1;
--i2;
}
return true;
}
}
我想要它说
if true then System.out.println(The word is a palindrome.)
else System.out.println(The word is not a palindrome.)
我不知道该怎么做。
答案 0 :(得分:1)
将以下行添加到main中:
if (isPalindrome(user_input))
System.out.println ("The word is a palindrome.");
else
System.out.println("The word is not a palindrome.");
注意:尝试使缩进更好,以便使代码易于理解并用于视觉目的:)
答案 1 :(得分:0)
此解决方案可能有效:
public static void main(String[] args, Iterable<String> lines) {
user_input = new Scanner(System.in);
System.out.println("Enter a word: ");
String word = user_input.nextLine();
if(istPalindrome(word.toCharArray()){
System.out.println("The word is a palindrome");
}else{
System.out.println("The word is not a palindrome");
}
}
答案 2 :(得分:0)
一旦你修复了缩进,你的回文测试看起来很好,但是用英文命名奇怪。你有一个Scanner
,所以你可以得到输入线。然后拨打toCharArray()
上的String
以获取char[]
之类的
public static void main(String[] args) {
System.out.print("Enter a word: ");
Scanner input = new Scanner(System.in);
while (input.hasNextLine()) {
String line = input.nextLine();
if (isPalindrome(line.toCharArray())) {
System.out.printf("The word %s is a palindrome.%n", line);
} else {
System.out.printf("The word %s is not a palindrome.%n", line);
}
}
}
public static boolean isPalindrome(char[] word) {
int i1 = 0;
int i2 = word.length - 1;
while (i2 > i1) {
if (word[i1] != word[i2]) {
return false;
}
++i1;
--i2;
}
return true;
}
答案 3 :(得分:0)
如果您想使用它,那么回文的代码就像这样简单!
public static boolean isPalindrom(String word) {
if(new StringBuilder(word).reverse().toString().equals(word)){
System.out.println("The word is a palindrome.");
} else {
System.out.println("The word is not a palindrome.");
}
}