Я создал код, который работает так, как он должен.Я определил функцию 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): _ _ ___ // с пользовательским вводом в той же строке.
И ... значения из строки для чтения в той же строке, а ненесколько строк.