2016-12-05 11 views
0

Я пытаюсь простой на основе меню принимать и отображать строковый код в java.Here, если я хочу принять и отобразить только одну строку на строку ввода, я могу сделать с next(), но для строки, разделенной пробелами, в качестве входных данных я не могу принять и отобразить, как предполагалось.многострочный пробел выделенного ввода строки от пользователя в java

это код:

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; 
      } 
     } 
    } 

} 

это выход, который я получаю:

--------------------- --- выход ------------

1.acc

2.dis

3.ex это

ввести CH

введите C

ввести L

WWW еее

ррр ТТТ

1.acc

2.dis

3.exit

ввести ч

с =

л = WWW еее

------- ----------- выходные окончания ---------

, тогда как я хочу, чтобы выход был

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

благодаря

+0

'nextline()' не прочтет до '\ n'. Возможно, вам стоит попробовать изменить [Разметки сканера] (http://stackoverflow.com/questions/28766377/how-do-i-use-a-delimiter-in-java-scanner) –

ответ