Код для создания строки в цикле для представления номеров - PullRequest
0 голосов
/ 31 января 2019

Я создал код, который работает так, как он должен.Я определил функцию escape как -1, чтобы пользователь мог выйти из программы, и использовал if/else, чтобы добавить только сумму натуральных чисел.

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

К сожалению, всякий раз, когда я пытаюсь добавить строку как часть цикла while, он будет печатать оператор снова и снова, когда мне нужна только одна строка.

Я также пытаюсь установить пользовательский ввод в одну строку.Я знаю, что это имеет отношение к команде .nextLine(), но если я вытащу ее за скобки (что я пытался сделать), то это будет считаться ошибкой.

На самом деле, источник о преобразовании String с в символы или входные данные в String с также был бы очень полезен.Очевидно, что именно здесь мне не хватает хорошей части моего понимания.

public static void main(String args[])
{
  int userNum = 0;
  int sum = 0;

   Scanner s = new Scanner(System.in);
  String str3;

  System.out.print("Enter positive integers (to exit enter -1):\n ");

     //Loop for adding sum with exit -1
     while(userNum != -1){ 

           //condition to only calculate positive numbers user entered
           if(userNum > 0){
              //calculation of all positive numbers user entered
              sum += userNum;
              str3 = String.valueOf(userNum);}
              userNum = s.nextInt();
              }
      System.out.println("The values of the sum are: " + str3);
      System.out.println("The Sum: " + sum);
     }
}

Я надеюсь, что пользовательский ввод будет напечатан,

Введите положительные целые числа (длявыход введите -1): _ _ ___ // с пользовательским вводом в той же строке.

И ... значения из строки для чтения в той же строке, а ненесколько строк.

1 Ответ

0 голосов
/ 31 января 2019

Переменная str должна быть инициализирована как:

String str3 = "";

, и в цикле каждое введенное число должно быть объединено в str.

int userNum = 0;
int sum = 0;

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

System.out.print("Enter positive integers (to exit enter -1):\n ");
while (userNum != -1) {
    userNum = s.nextInt();
    if (userNum > 0) {
        sum += userNum;
        str3 += " " + userNum;
    }
}
System.out.println("The values of the sum are: " + str3);
System.out.println("The Sum: " + sum);
...