Ich mache ein kleines Projekt für die Informatik. Ich mache einen Code, um zu testen, ob eine Zeichenketteneingabe ein Palindrom ist, oder eine Phrase, die gleich vorwärts und rückwärts ist, Bsp. "Rennauto" = "Rennauto", wenn rückwärts gelesen wird.meine Eingabe von "Scanner" wird nicht aufgezeichnet? Gibt nichts zurück
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a palindrome or something...: ");
String myLine = keyboard.nextLine();
Palindrome test = new Palindrome();
test.setPaly(myLine);
System.out.println(test);
mein Scanner geht in eine Variable 'Myline', die ich in einer anderen Datei in mein anderes Stück Code werfen durch einen toString durch System.out.println(test)
aus dem letzten Block des Codes genannt,:
public void setPaly(String setp)
{
in = setp;
boolean b1 = true;
int x = 0;
while(x<in.length())
{
b1 = Character.isLetter(x);
if (b1 != false)
{
paly = paly + in.substring(x, x+1);
}
x++;
}
}
sehen "Paly" und "In" sind beide vorinitialisiert, aber das ist nicht mein Problem ... meine Frage kommt hier: 'Paly' wird nie wirklich überschrieben. Warum ist das? Ich verstehe überhaupt nicht ... also bitte etwas gründlicher erklären, als nur eine Antwort zu geben.
ich codeboard.io bin mit diesem zu machen, und als solche können Sie in meinem vollständigen Code aussehen (falls Es ist eigentlich nicht Teil dieser Teile des Codes überhaupt) hier: -Link: (https://codeboard.io/projects/33278?view=21.1-2.0)
Wenn Sie wollen, dass 'setPaly()' entscheidet, ob eine Eingabe ein Palindrom ist, dann sollten Sie eine 'boolean' Antwort zurückgeben, anstatt sie' void' zu behalten. Ich sehe auch nicht, wo 'in' initialisiert wird. –
Fügen Sie einige temporäre system.out.prints in und um diese Schleife hinzu, damit Sie den Wert von in, x, paly usw. verfolgen können. Dies ist eine gute und einfache Debugging-Methode. Es wird Licht auf das werfen, was vor sich geht. –
'Character.isLetter (x);' ... möchten Sie sich vielleicht daran erinnern, was 'x' *** wirklich *** ist ... Hinweis: kein Buchstabe. (zumindest nicht für kurze Strings) – Tom