2015-12-19 2 views
0

Это код:Почему этот код не позволяет мне вводить новый ввод?

public class Pr3 
{ 
    public Pr3() 
    { 
    String x = ""; 
    String Line = ""; 
    Scanner sc = new Scanner (System.in); 
    do 
    { 
     System.out.println ("Please enter your sentence"); 
     String NewLine = sc.nextLine(); 
     Line = Line + " " + NewLine; 
     System.out.println ("Your new Line is: " + Line); 
     System.out.println ("Do you want to enter a new sentence? Enter Y for yes and N for no"); 
     x = sc.next(); 
    } while (!"N".equals(x) && "Y".equals(x)); 
    exit(0); 
    } 
} 

И это выход:

  • Пожалуйста, введите ваше предложение
  • Агарь
  • Ваша новая линия: Агарь
  • Вы хотите введите новое предложение? Введите Y для да и N для нет
  • Y
  • Пожалуйста, введите ваше предложение
  • Ваша новая линия: Агарь
  • Вы хотите ввести новое предложение? Введите Y для да и N для нет
+1

А жаль, это потому, что я работаю над двумя проектами теперь XD –

ответ

1

Изменить

x = sc.next(); 

в

x = sc.nextLine(); 

, чтобы потребить конец строки символов.

Кроме того,

Line = Line + " " + NewLine; 

будет сцепить новую линию всех предыдущих строк. Я не уверен, что это то, что вы хотите (на основе вашей печати System.out.println ("Your new Line is: " + Line);).

Одна последняя вещь:

while (!"N".equals(x) && "Y".equals(x)); 

является излишним. Если x равно "Y", это не равно "N", так что достаточно написать:

while ("Y".equals(x)); 
+0

Он сейчас работает, спасибо :) –

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