2015-12-28 2 views
-3

В моем коде можно ли получить способ calculate() внутри метода calculateSheet()? 2 метода находятся в одном классе.Как я могу использовать метод внутри другого метода в том же классе?

Метод calculate(), например, вычисляет сумму в 2 двухместных. Я хочу метод calculateSheet(), чтобы использовать этот метод для вычисления этого для каждой «ячейки» в массиве sheet[] [].

//calculates every cell in the array. 
public void calculateSheet() { 
    for(int i = 0 ; i < rows ; i++) { //rows, amount of rows in the array> 
     for (int j = 0 ; j < cols ; j++) { //cols, amount of colums in the array. 
      sheet[i] [j].**calculate()** ; //method I want to use in the "calculateSheet" method.    
     } 
    } 
} 
+3

Если 'calculate' определен в том же классе, вы можете просто вызвать его. – xersiee

+0

Покажите метод 'calculate', пожалуйста – luk2302

ответ

0

Прежде всего, вам нужны эти вычисления, которые вы хотите сделать, вам нужно поместить их в какую-то переменную.

Во-вторых, я считаю, что вам нужно, чтобы ваш высчитывает() метод должен возвращать результат ...

Предположим, что ваш метод высчитывает что-то вроде:

public double calculate(double a, double b){ 
    return a+b; 
} 

, то вам нужно сделать что-то вроде :

public void calculateSheet() { 
    double total = 0; //The variable when you going to put the result 
    for(int i = 0 ; i < rows ; i++) { //rows, amount of rows in the array> 
     for (int j = 0 ; j < cols ; j++) { //cols, amount of colums in the array. 
      total += calculate(sheet[i], sheet[j]); 
     } 
    } 
} 
0

позволяет сделать полный код для вас,

класс {

public double calculate(double num1, double num2){ 
    return (num1+num2); 
} 

public void calculateSheet(int[][] sheet) { 
    for(int i = 0 ; i < rows ; i++) { 
     for (int j = 0 ; j < cols ; j++) { 
      sheet[i] [j] = calculate(i, j); 
     } 
    } 
} 

}

Здесь каждая ячейка 2D массив будет хранить сумму обоих своих индексов.