#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;
}
}