class palindrome
{
public static void main(String args[])
{
String s1=new String();
Scanner sc= new Scanner(System.in);
System.out.println("Enter the string:");
s1=sc.nextLine();
StringBuffer s2=new StringBuffer(s1);
s2.reverse().toString();
if(s1.equals(s2.toString()))
System.out.println("Given String is palindrome");
else
System.out.println("Given String is not palindrome");
}
}
Dies ist mein Code zu überprüfen, ob ein string
Palindrom ist oder nicht.Wie Java String und Stringbuffer arbeitet
ich die richtige Ausgabe, aber ich habe 2 Fragen:
1) Warum können wir
2) Wenn ich if(s1.equals(s2))
schreiben, statt nur mit einem if
Zustand und direkt übersprungen nicht toString
wie s1.toString()
verwenden else
Bedingung ist in der Ausgabe ausgeführt, warum?
1: s1 ist bereits ein String. Sie können immer noch s1.toString() verwenden, aber das ist ziemlich überflüssig. 2. s2 ist kein String. Eine Zeichenkette (s1) kann nicht gleich einer Zeichenkette sein, die keine Zeichenkette ist (s2), daher muss zuerst s2 konvertiert werden. –
Ich habe versucht, diese Frage zu bearbeiten, verstand aber die zweite Frage noch nicht wirklich: - | – notyou
@JamesMacca, aber wenn Sie die Frage lesen, es funktioniert, das Problem ist nicht über das Palindrom, sondern über 'String' und' StringBuffer'. – AxelH