Я знаю, что я не могу передавать массивы так, как я это делаю. Должен ли я пройти по ссылке, если да, то как? Вопрос находится внизу для справки.Передача массивов в java
import java.util.Scanner;
public class MethodsArrays {
public static int[] fillArray() {
Scanner scan = new Scanner(System.in);
int size = scan.nextInt();
int array[] = new int[size];
int pos=0;
for(int i=0; i<array.length; i++) {
pos=i+1;
System.out.println("Enter element " + pos);
array[i]=scan.nextInt();
}
return array;
}
public static int sumArray(int [] array) {
int sum=0;
for(int i=0; i<array.length-1; i++) {
sum=array[i]+array[i+1];
}
return sum;
}
public static int avgArray(int [] array) {
int avg=0;
int sum = sumArray(array);
avg = sumArray(array)/array.length-1;
return avg;
}
public static void printArray(int [] array) {
for(int i=0; i<array.length; i++) {
System.out.print(array[i] + " ");
}
}
public static void main(String[] args) {
fillArray();
System.out.println("Sum=" + sumArray(array));
System.out.println("Average=" + avgArray(array));
printArray(array);
}
}
Напишите программу Java, называемые MethodsArrays, что имеет 4 статические методы называется fillArray(), sumArray(), avgArray(), и PrintArray(). Метод fillArray() следует вызывать из основного метода. Метод fillArray() должен использовать сканер для ввода числа , представляющего длину массива, а затем считывание чисел для заполнения массива . Метод sumArray() должен принимать int-массив в качестве своего входного параметра и возвращает целочисленное значение, которое является суммой всех элементов в массиве. Метод avgArray() должен принимать int array в качестве своего входного параметра и возвращает целое значение, которое является средним значением всех элементов в массиве. Метод printArray() должен принимать int-массив в качестве его входного параметра и не имеет значения возврата . Затем он должен распечатать элементы массива на той же линии , разделенной пробелом (""). Все методы должны работать для целых массивов .
Вы бы меньше проблем, если бы вы на самом деле волнует, что 'fillArray()' возвращает ... – Tom
Почему вы не можете передавать массивы так, как вы делаете? Вам просто нужно сохранить результат вызова 'fillArray()' в переменной с именем 'array', поэтому имя переменной фактически существует, и вы можете использовать его в следующих вызовах. –
Я думаю, что вам нужно назначить результат fillArray() переменной, например int [] array = fillArray(); –