2015-10-01 4 views
-1

Я пытаюсь получить вывод, где введенные числа в цикле распечатываются как отдельные номера. Пример: Введенные числа: 10, 15, 1, 25.Как распечатать все входы, используемые в цикле

Вот мой код:

import java.util.Scanner; 

public class SumofNumbersAbove0 { 
    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     int number = 0; 
     int input; 
     for (input = 0; input >= 0;) { 
      number = number + input; 
      System.out.print("Enter number: "); 
      input = scan.nextInt(); 
     } 
     System.out.println("Entered Number: " + input); 
     System.out.println("The sum: " + number); 
    } 
} 

я получаю сумму всех чисел правильно. Но все, что я получаю за введенные числа, является окончательным.

+3

Вы не можете хранить несколько значений в одной переменной. Каждый раз, когда вы его назначаете, вы перезаписываете данные, которые были сохранены ранее. Если вы хотите сохранить произвольное количество входов, используйте 'int []' или 'List ' или что-то в этом роде. – azurefrog

ответ

0

Переместить печать input в цикл, где на самом деле присутствует каждое значение input. Где у вас есть только вы получите последний input

for (input = 0; input >= 0;) { 
    number = number + input; 
    System.out.print("Enter number: "); 
    System.out.println("Entered Number: " + input); 
    input = scan.nextInt(); 
} 
System.out.println("The sum: " + number); 
0

Проблема: В коде две переменные, которые имеют input и number (который скорее должен быть именем Sum) решаются совершенно иной цели. input действует как переходный пешеход, где поступают введенные пользователем значения и приземляются. Оттуда значение добавляется в number, а затем вводится другое введенное пользователем значение, которое приземляется на один и тот же пешеход, тем самым сбивая предыдущее значение.

Таким образом, при печати input в нижней части вашего кода, значение, которое вы найдете тот, который пришел последним в пешеходном (в вашем случае это некоторое целое число < 0)

Решение: Что вы хотите выполнить операцию (печать) на каждом из входных значений. Вы можете сделать что-либо из following-

в
  1. Выполните операцию, прежде чем потерять значение. Я имею в виду печать значения в самом цикле. Добавление значения в number - это еще одна операция, которую вы уже делаете, прежде чем потерять значение
  2. Сохранять все входные значения. Здесь вы должны иметь больше пешеходный, который может разместить все входящие введенные пользователем значения без сбивания предыдущих значений. После того, как у вас есть все они, вы можете пересмотреть значения и действовать на них. их печать может быть одной операцией и накопление их значений в другой переменной number может быть другой.

Надежда, что помогает

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