2017-07-18 104 views
-2

试图让控制台输出告诉我,如果一个字是回文
我是相当新的Java,所以这可能是一个简单的解决方案,但我不知道如何自己做。字符到/和字符串

package checkpalindrome; 
import java.io.*; 

public class CheckPalindrome 
{ 
    public static void main(String[] args) throws Exception 
    { 
     String input; 
     System.out.println("Enter a word"); 
     try 
     { 
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
      input = br.readLine(); 
      char[]try1=input.toCharArray(); 
      for (int i=try1.length-1;i>=0;i--) 
       if (String.valueOf(try1)==input) 
       { 
        System.out.println(input +" is a Palindrome"); 
       } 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     }   
    } 
} 
+3

有很多关于如何在Java中检测回文的例子,甚至在SO上。你有看过这些吗? – Thomas

+0

@Jakebrady你的问题到底是什么? – jps

+0

ONe提示虽然:'String.valueOf(try1)== input' - _never_使用'=='比较字符串,因为只有两个字符串是相同的实例才会变为true。改为使用'String.valueOf(try1).equals(input)'(对于Java中的所有其他对象也是如此)。 – Thomas

回答

-1

这是一个简单的解决方案与扫描仪类。

class TestClass { 
public static void main(String args[]) throws Exception { 


    java.util.Scanner kb=new java.util.Scanner(System.in); 
    String rev=""; 
    String s=kb.next(); 
    int length=s.length(); 
    for(int i=length-1; i>=0;i--) 
    { 
     rev=rev+s.charAt(i); 
    } 
    if(rev.equals(s)) 
    System.out.println("YES " + rev); 
    else 
    System.out.println("NO"); 
} 
}