2016-09-28 2 views
-4

Ich schreibe einen Code für Klasse und ich kann nicht scheinen, den Fehler zu finden. Jedes Mal, wenn ich den Code durch Dr. Java laufen lasse, bekomme ich 15 verschiedene rote Fehler, die ich vorher nicht gesehen habe. Der Code soll eine Benutzereingabe nehmen und die Reihenfolge umkehren. Irgendeine Hilfe? Dies ist der Code:Name des Java-Benutzers und umgekehrte Reihenfolge

import java.util.Scanner; 
public class LoopsProgram 
{ 
    public static void main (String [] args) 
    { 
     Scanner stringScanner = new Scanner (System.in); 
     System.out.println ("What is your name?"); 

     String nameOfPerson = stringScanner.nextLine(); 
     System.out.println(nameOfPerson); 
     int lengthOfName = nameOfPerson.length(); 
     char beginning = nameOfPerson.charAt(lengthOfName); 
     for (int i = lengthOfName-1; i > 0; i--) { 
      beginning = nameOfPerson.charAt(i); 
      System.out.print(beginning); 
     } 
    } 
} 
+0

können Sie über diese Website gehen. http://javahungry.blogspot.com/2014/12/5-ways-to-reverse-string-in-java-with-example.html – halim

+0

Willkommen bei Stack Overflow! Bitte lesen Sie unsere [SO Fragen-Checkliste] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist) und überarbeiten Sie Ihre Frage entsprechend, damit Sie diese Website optimal nutzen können. –

Antwort

0

char beginning = nameOfPerson.charAt(lengthOfName); - Sie versuchen, den 5. Index zuzugreifen, wo, wie es Index von 0 bis 4 haben wird Deshalb sollten Sie Fehler bekommen.

Versuchen Sie dies unter Code:

import java.util.Scanner; 
class Test{ 
    public static void main (String [] args) 
    { 
     Scanner stringScanner = new Scanner (System.in); 
     System.out.println ("What is your name?"); 

     String nameOfPerson = stringScanner.nextLine(); 
     System.out.println("Name : "+nameOfPerson+" & length : "+nameOfPerson.length()); 
     int lengthOfName = nameOfPerson.length(); 
     String result = ""; 
     for (int i = lengthOfName-1; i >= 0; i--) { 
      result+=nameOfPerson.charAt(i); 
     } 
     System.out.println(result); 
    } 
} 
0
  1. char Anfang = nameOfPerson.charAt (lengthOfName);

  2. for (int i = lengthOfName-1; i> 0; i--)

In Java Index von 0 beginnt so das letzte Zeichen Index wird lengthOfName-1. Ausgabe 1

Die For-Schleife enthält kein Zeichen im Index Null, da wir eine Bedingung haben (i> 0). Es sollte i> = 0 sein. Ausgabe 2

+0

@halim, Kerl erwartet Ursache (nehme ich an). –

Verwandte Themen