Я пытаюсь простой на основе меню принимать и отображать строковый код в 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.
благодаря
'nextline()' не прочтет до '\ n'. Возможно, вам стоит попробовать изменить [Разметки сканера] (http://stackoverflow.com/questions/28766377/how-do-i-use-a-delimiter-in-java-scanner) –