2016-07-05 2 views
-7

У меня есть ошибка, когда я даю ввод для string t= "is my favorite language"; показывает вывод java is. пожалуйста, сообщите, что я сделал ошибку.Ошибка строки String с использованием класса сканера?

public class DataTypes { 

     public static void main(String[] args) { 

      String s = "Java "; 

      Scanner scan = new Scanner(System.in); 

      String t = scan.next(); 

      String u = s.concat(t); 
      System.out.println(u); 
    } 
    } 
+3

use 'scan.nextLine()' – Hackerdarshi

+4

См. [В чем разница между методами next() и nextLine() из класса Scanner?] (Http://stackoverflow.com/questions/22458575/whats-the-difference- между-некст-и-nextline-методы-из-сканера-класса). – BadCash

+0

Вы здесь достаточно долго, чтобы знать, что вам не разрешено менять свой вопрос на что-то еще, если есть хотя бы один ответ о вашем исходном вопросе. Поэтому я вернул последнее редактирование. Если у вас есть новая проблема, создайте новый вопрос. – Tom

ответ

0

scan.next() получит следующую лексему от входа. Разделитель по умолчанию для этого - это пробел, поэтому он получит первое слово от вашего ввода.

Чтобы получить все входные данные до тех пор, пока новая строка (когда пользователь не нажмет на ввод), вместо этого используйте scan.nextLine().

String s = "Java "; 
Scanner scan = new Scanner(System.in); 

String t = scan.nextLine(); 

String u = s + t; 
System.out.println(u); 
+0

Я отредактировал мой вопрос, но он не распечатал этот оператор в следующем порядке выполнения – user306128

0

Использование:

scanner.nextLine() 

Это будет читать всю строку, пока система, определенная линия Seperator (обычно \ п)

scanner.next() только читает следующий маркер до места.

Смежные вопросы