Метод, с помощью которого можно сложить все числа в массиве

#java #arrays #methods

#java #массивы #методы

Вопрос:

Мне нужно создать метод, в котором все массивы одежды, одежды, транспорта, продуктов питания, жилья и книг будут суммироваться до этой точки. Например, распечатка должна выглядеть примерно так

Расходы по состоянию на 4 ноября 2011 г.:

Стоимость обучения: $ 3200

Еда: $ 2600

Одежда: 600 долларов

Книги: $ 450

Общие расходы: $ 6850

^ эти числа приведены в качестве примера, а не те, которые я привел ниже.

это мой код

 public class Budget{

  ///////////////fields////////////////




  int clothes[]= {100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210};
  int tuition[] = {200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200};
  int transportation[]={100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210};
  int food[]={80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80};
  int housing[]={150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150};
  int books[]= {200, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0};
    int i=0; // this is arbitrary. Never hard code numbers unless that number is never going to change. in that case you make a variable and define it.

  private int expenseName[][] = {clothes, tuition, transportation, food, housing, books};

/////////constructors///////////////
    public Budget() {}

  public Budget(int name) {this.expenseName[i][i] = name;}

    public Budget(int name[], int clothes, int tuition, int transportation, int food, int housing, int books)
    {
      this.expenseName[i] = name;
      this.clothes[i] = clothes;
      this.tuition[i] = tuition;
      this.transportation[i] = transportation;
      this.food[i] = food;
      this.housing[i] = housing;
      this.books[i] = books;
    }


 /////////////methods///////////
public int getexpenseName() {return expenseName[i][i];}

public int getclothes() {return clothes[i];}//change the I
public int gettuition() {return tuition[i];}
public int gettransporation() {return transportation[i];}
public int getfood() {return food[i];}
public int gethousing() {return housing[i];}
public int books() {return books[i];}

public void setExpenseName(int name)
{
  this.expenseName[i][i] = name;
}
  

Комментарии:

1. Это действительно дерьмовый код. Во-первых, сделайте правильный отступ, во-вторых, вы должны объявить свои переменные в верхней части класса. Пожалуйста, сделайте это, чтобы мы могли лучше реагировать.

2. @DhaivatPandya Возможно, более подходящим был бы другой подход? Не все мы суперзвезды Java-разработки. И вам не нужно объявлять свои свойства вверху, это просто обычное и удобное решение. Хотя я согласен, что исходный код был… неоптимальный, похоже, что более менторский подход мог бы оказаться лучше.

Ответ №1:

Это код для суммирования всех целых чисел в 2D-массиве.

 int sum = 0;
for (int[] a : expenseName) {
    for (int n : a) {
        sum  = n;
    }
}