2016-04-09 18 views
2

Ich bin neu in der Programmierung und dieses Problem konfrontiert mich immer Wenn ich das Programm Java Ignoriert eine Zeichenfolge Eingabe in einem if Was habe ich falsch gemacht?Java ignoriert die Zeichenfolge

import java.util.Scanner; 

public class JavaApplication { 

    public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 

     System.out.print("------ FEEDBACK/COMPLAINT ------\n" 
       + "-------------------------------------\n" 
       + "| 1: Submit Feedback |\n" 
       + "| 2: Submit Complaint |\n" 
       + "| 3: Previous Menu |\n" 
       + "-----------------------------------\n" 
       + "> Please enter the choice: "); 
     int feedorcomw = input.nextInt(); 

     if (feedorcomw == 1) { 
      String name; 
      System.out.print("> Enter your name (first and last): "); 
      name = input.nextLine(); 
      System.out.println(""); 
      System.out.print("> Enter your mobile (##-###-####): "); 
      int num = input.nextInt(); 

     } 

    } 
} 
+0

Welche Art von Fehler bekommen Sie? – Andrew

+2

Vielleicht beantwortet dies Ihr Problem http://stackoverflow.com/questions/13102045/skipping-nextline-after-using-next-nextint-or-other-nextfoo-methods – RubioRic

+0

@und Ihre Bearbeitung macht nicht viel Sinn - warum Machen Sie ein minimales vollständiges Beispiel zu einem, das nicht nur die Formatierung repariert? – Flexo

Antwort

1

Sie ommitting die Tatsache, dass Scanner # nextInt Methode nicht die letzten Newline-Zeichen Ihrer Eingabe verbraucht, und somit wird das Newline in dem nächsten Aufruf Scanner # verbraucht nextline

versuchen, ein input.nextLine(); nach, dass das Hinzufügen und alles wird gut funktionieren

Beispiel:

public static void main(String[] args) { 

    Scanner input = new Scanner(System.in); 

    System.out.print("------ FEEDBACK/COMPLAINT ------\n" 
      + "-------------------------------------\n" 
      + "| 1: Submit Feedback |\n" 
      + "| 2: Submit Complaint |\n" 
      + "| 3: Previous Menu |\n" 
      + "-----------------------------------\n" 
      + "> Please enter the choice: "); 
    int feedorcomw = input.nextInt(); 

    input.nextLine(); 
    if (feedorcomw == 1) { 
     String name; 
     System.out.print("> Enter your name (first and last): "); 
     name = input.nextLine(); 
     System.out.println(""); 
     System.out.print("> Enter your mobile (##-###-####): "); 
     int num = input.nextInt(); 

    } 

} 
Verwandte Themen