2015-04-13 3 views
1
import java.util.Scanner; 
public class Calculations { 

    public static void main (String [] args) { 

    Scanner console = new Scanner (System.in); 
    int a = 0; 
    int b = 0; 
    int sum = 0; 
    int product = 0; 
    System.out.println ("Enter the Lower Bound"); 
    a = console.nextInt(); 
    System.out.println("Enter the Upper Bound"); 
    b = console.nextInt(); 

    while (a <= b) { 
    product *= a; 
    sum += a; 
     a++; 
    } 
    System.out.println("The sum is " + sum); 
    System.out.println("The Product " + product); 

    } 

} 

Когда я использую += для добавления, я получаю результат для добавления между a и b. Например, если a равно 2 и b равно 5, сумма будет равна 14. Когда я использую *= для умножения, я получаю нуль. Мне нужна помощь в том, что Im делает неправильно, что Im получает нуль для продукта.Java умножается между двумя номерами

ответ

7

Любое время 0 равно 0. Поэтому не начинайте с product из 0, начинайте с 1.

int product = 1; 
+0

спасибо, что это сработало – SUPER12

3

Вы должны установить значение

int product = 1; 

вместо

int product = 0; 

как 0, умноженной на что-либо будет 0.

0

Вы код правильный, но вы сделали одна простая математическая ошибка. Произведение любого числа с 0 всегда равно 0. Поэтому попробуйте использовать 1 вместо 0. Это решит проблему. Код редактирования будет выглядеть так:

import java.util.Scanner; 
public class Calculations 
{ 

    public static void main (String [] args) 
    { 

     Scanner console = new Scanner (System.in); 
     int a = 0; 
     int b = 0; 
     int sum = 0; 
     int product = 1; 
     System.out.println ("Enter the Lower Bound"); 
     a = console.nextInt(); 
     System.out.println("Enter the Upper Bound"); 
     b = console.nextInt(); 

     while (a <= b) 
     { 
      product *= a; 
      sum += a; 
      a++; 
     } 
     System.out.println("The sum is " + sum); 
     System.out.println("The Product " + product); 
    } 

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