イベントクラスを使用するプログラムを書いています。イベントクラスには、カレンダーのインスタンスとString型の説明文があります。 イベントを作成するメソッドは、月、日、年、時、分、および説明を取り込むためにスキャナを使用します。 困ったことに、Scanner.next()メソッドは、スペースの前の最初の単語しか返しません。 そのため、入力が"My Birthday"の場合、イベントのそのインスタンスの説明は単に"My"となります。
調べてみると、この問題に対してScanner.nextLine()を使用している人がいましたが、これを試してみると、入力されるべき場所をスキップしてしまうのです。 私のコードの一部を紹介します。
System.out.print("Please enter the event description: ");
String input = scan.nextLine();
e.setDescription(input);
System.out.println("Event description" + e.description);
e.time.set(year, month-1, day, hour, min);
addEvent(e);
System.out.println("Event: "+ e.time.getTime());
そして、このような出力が得られます。
Please enter the event description: Event description
Event: Thu Mar 22 11:11:48 EDT 2012
説明文字列を入力するスペースをスキップしてしまい、結果的に説明文(最初は空白 - " " に設定されています)は変更されません。
どうすればいいですか?
Scanner ss = new Scanner(System.in);
System.out.print("Enter the your Name : ");
// Below Statement used for getting String including sentence
String s = ss.nextLine();
// Below Statement used for return the first word in the sentence
String s = ss.next();