2015-08-11 2 views
-2

Мне нужно написать программу, в которой пользователь вводит 3 числа в массив, а затем вывод - это числа, вычитаемые друг из друга.как я отвлекаю ints друг от друга в массиве Java

Я попытался использовать цикл for для этого, но он просто выводит числа, добавленные вместе, а затем поворачивает их отрицательно, например: если я вставлял числа 1,2 и 3, он должен выводить -4, но выходы -6.

это мой код: (печатная линия часть находится в другом методе)

int sub = 0; 

for(int j =0; j < numbers.length;j++) 
{ 
    sub -= numbers[j]; 
} 
return sub; 

как я получаю число вычитать. Кроме того, если кто-нибудь знает, как получить число разделить друг с другом, что было бы очень полезно:)

Заранее спасибо

+8

0 - 1 - 2 - 3 == -6. Почему вы ожидаете, что это будет -4? (Если вы хотите * запустить * с 'numbers [0]' и вычесть другие значения из этого, вам нужно изменить как вашу инициализацию 'sub', так и ваш цикл ...) –

+1

Что означает« друг друга », когда вы говорите о массиве из трех чисел? Пожалуйста, уточните в ваших требованиях. – Arkadiy

ответ

0
int sub = numbers[0]; 

for(int j = 1; j < numbers.length;j++) 
{ 
    sub -= numbers[j]; 
} 

return sub; 

Разделить, использовать /= вместо -=.

+1

Обратите внимание, что если вы просто используете/= для деления, вы получите целочисленное деление, которое, вероятно, не то, что вы хотите (вы хотите деление с плавающей запятой) – yshavit

0

Изменить его выглядеть следующим образом:

int sub = numbers[0]; 

for (int j = 1; j < numbers.length; j++) { 
    sub -= numbers[j]; 
} 

return sub; 

Ваш код делает

0 - numbers[0] - numbers[1] - numbers[2] 

когда то, что вы хотите

numbers[0] - numbers[1] - numbers[2] 
0

Кажется, что вы назначаете суб = 0, создает проблему. Вместо этого вам нужно назначить первое значение массива.

я исправил код для вас:

public static void main (String[] args) throws java.lang.Exception 
    { 

     int a [] ={1, 2, 3}; 
     int sub = a[0]; 
     for(int j =1; j < a.length;j++) 
     { 
     sub = sub -a[j]; 
     } 
    System.out.println (sub); 
    } 

Вы можете запустить этот код here. Вы можете найти полный код here