This question already has answers here:
java.util.NoSuchElementException: No line found
(6个答案)
去年关闭。
回文词是向后或向前读相同的单词。
编写一个函数来检查给定的单词是否是回文。字符大小写应忽略。
我创建了一个方法
例如,
这是错误:
我的代码是:
(6个答案)
去年关闭。
回文词是向后或向前读相同的单词。
编写一个函数来检查给定的单词是否是回文。字符大小写应忽略。
我创建了一个方法
isPalindrome(String word)
,它检查传递的字符串是否是回文,并返回布尔值。例如,
isPalindrome("Deleveled")
应该返回true,因为应该忽略字符大小写,从而导致“降级”,这是回文,因为它前后读取相同的内容。这是错误:
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at Main.main(Main.java:20)
我的代码是:
import java.util.Scanner;
public class Main{
static boolean isPalindrome(String word){
int c=word.length()-1;
boolean flag = false;
for(int i=0; i<word.length(); i++){
if(word.charAt(i)==word.charAt(c))
flag=true;
else
return false;
c--;
}
return flag;
}
public static void main(String []args){
Scanner scan = new Scanner(System.in);
String word= scan.nextLine();
System.out.println(isPalindrome(word));
scan.close();
}
}
最佳答案
您的代码很好。在比较之前,您只需要小写或大写一个字即可。
static boolean isPalindrome(String word){
word=word.toLowerCase(); //Added this
int c=word.length()-1;
boolean flag = false;
for(int i=0; i<word.length(); i++){
if(word.charAt(i)==word.charAt(c))
flag=true;
else
return false;
c--;
}
return flag;
}
07-24 21:29