2016-12-05 5 views
0

Ich versuche ein einfaches Menü basierend akzeptieren und Anzeige String-Code in Java.Hier, wenn ich nur eine einzige Zeichenfolge pro Zeile der Eingabe akzeptieren und anzeigen möchte, kann ich mit next(), aber für Leerzeichen getrennt Zeichenfolge als Eingabe kann ich nicht akzeptieren und angezeigt werden, wie vorgesehen.mehrere Zeilenabstand getrennte Zeichenfolge Eingabe vom Benutzer in Java

Dies ist der Code:

import java.util.Scanner; 

class Trial 
{ 
    String c,l; 
    public static void main(String[] args) 
    { 
     Trial t=new Trial(); 
     int ch=0; 
     Scanner sc=new Scanner(System.in); 

     while(ch!=3) 
     { 
      System.out.println("1.acc"); 
      System.out.println("2.dis"); 
      System.out.println("3.exit"); 
      System.out.println("enter ch"); 
      ch=Integer.parseInt(sc.next()); 

      switch(ch) 
      { 
       case 1: 
        System.out.println("enter C"); 
        t.c=sc.nextLine(); 

        System.out.println("enter L");  
        t.l=sc.nextLine();  
        sc.nextLine(); 

        break; 
       case 2: 
        System.out.println("c = "+t.c); 
        System.out.println("l = "+t.l); 
        break; 
      } 
     } 
    } 

} 

dies ist die Ausgabe, die ich erhalte:

--------------------- --- Ausgabe ------------

1.acc

2.dis

3.ex

es

eingeben ch

eingeben C

eingeben L

www eee

rrr ttt

1.acc

2.dis

3.exit

eingeben ch

c =

l = www eee

------- ----------- Ausgang endet ---------

wobei ich möchte, dass der Ausgang

ist

c = www eee "und l =" rrr ttt.

dank

+0

'nextline()', bis die '\ n 'lesen. Vielleicht sollten Sie versuchen, die [Scanner-Trennzeichen] zu ändern (http://stackoverflow.com/questions/28766377/how-doi-i-use-a-limimiter-in-java-scanner) –

Antwort

Verwandte Themen