2014-02-13 3 views
0

это просто больно моему мозгу. http://programmingbydoing.com/a/adding-values-in-a-loop.htmlJava - добавление значения в цикле while

Напишите программу, которая получает от пользователя несколько целых чисел. Суммируйте все целые числа, которые они вам дают. Стоп цикла, когда они вводят 0. Покажите общее количество в конце.

, что ив получил до сих пор:

Scanner keyboard = new Scanner(System.in); 
    System.out.println("i will add"); 
    System.out.print("number: "); 
    int guess = keyboard.nextInt(); 
    System.out.print("number: "); 
    int guess2 = keyboard.nextInt(); 




    while(guess != 0 && guess2 != 0) 
    { 

     int sum = guess + guess2; 
     System.out.println("the total so far is " + sum); 
     System.out.print("number: "); 
     guess = keyboard.nextInt(); 
     System.out.print("number: "); 
     guess2 = keyboard.nextInt(); 
     System.out.println("the total so far is " + sum); 

    } 
    //System.out.println("the total so far is " + (guess + guess2)); 
} 
+3

Есть ли здесь настоящий вопрос? –

+0

Слишком плохой логик .. – Kick

+1

Подсказка: «Стоп-цикл при вводе 0» - это не то же самое, что «Stop looping при вводе двух 0». – ajb

ответ

0

Объявите переменную int sum вне цикла в то время и только один guess = keyboard.nextInt() внутри цикла. Добавьте догадки пользователя к сумме в цикле.

Затем после цикла выведите сумму пользователя.

т.е .:

int sum; 
while(guess != 0) 
{ 
    guess = keyboard.nextInt(); 
    sum += guess; 
} 
System.out.println("Total: " + sum"); 

Edit: также удалить переменную guess2, как вы больше не нужно.

+0

блестящий спасибо вам :) – tamalon

0

Код будет, как показано ниже:

public static void main(String[] args) throws Exception { 
    Scanner keyboard = new Scanner(System.in); 
    int input = 0; 
    int total = 0; 
    System.out.println("Start entering the number"); 
    while((input=keyboard.nextInt()) != 0) 
     { 
      total = input + total; 
     } 
    System.out.println("The program exist because 0 is entered and sum is "+total); 
} 
0

Программирование Выполнением :)

int x = 0; 
    int sum = 0; 
    System.out.println("I will add up the numbers you give me."); 
    System.out.print("Number: "); 
    x = keyboard.nextInt(); 
    while (x != 0) { 
     sum = x + sum; 
     System.out.println("The total so far is " + sum + "."); 
     System.out.print("Number: "); 
     x = keyboard.nextInt(); 
    } 
    System.out.println("\nThe total is " + sum + "."); 
0
import java.util.Scanner; 

public class AddingInLoop { 
    public static void main(String[] args) { 
     Scanner keyboard = new Scanner(System.in); 

     int number, total = 0; 

     System.out.print("Enter a number\n> "); 
     number = keyboard.nextInt(); 
     total += number; 

     while (number != 0) { 
      System.out.print("Enter another number\n> "); 
      number = keyboard.nextInt(); 
      total += number; 
     } 
     System.out.println("The total is " + total + "."); 
    } 
} 

Сначала предложит пользователю ввести номер. Затем вы сохраняете это число в общую сумму (total + = number OR total = total + number). Затем, если введенный номер не равен 0, цикл while выполняется. Каждый раз, когда пользователь вводит ненулевой номер, этот номер сохраняется в целом (общее значение увеличивается), а циклы while запрашивают другой номер. Если и когда пользователь вводит 0, цикл while прерывается, и программа отображает значение внутри общей суммы. : D Я сам начинаю и немного разбираюсь в логике, прежде чем разобраться. Счастливое кодирование!

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