当前位置: 首页 > 知识库问答 >
问题:

在java中传递数组

郑正文
2023-03-14

我知道我不能用这样的方式传递数组。我是否需要通过引用,如果是,如何?问题在下面供参考。

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

编写一个名为MethodsArrays的Java程序,它有4个静态方法,分别为fillArray()、sumArray()、avgArray()和printArray()。应该从main方法调用fillArray()方法。fillArray()方法应该使用一个扫描程序来接受一个表示数组长度的数字,然后读取数字来填充数组。sumArray()方法应该将int数组作为其输入参数,并返回一个整数值,该值是数组中所有元素的总和。avgArray()方法应该将int数组作为其输入参数,并返回一个整数值,该值是数组中所有元素的平均值。printArray()方法应该将一个int数组作为其输入参数,并且没有返回值。然后,它应该将数组的元素打印在由空格(“”)分隔的同一行上。所有方法都应适用于整数数组。

共有1个答案

卢磊
2023-03-14

您的代码看起来还可以。您只需要将fillArray()的结果赋给一个变量,以便将这个结果用于进一步的方法。

它看起来像:

 int[] array = fillArray();
 System.out.println("Sum=" + sumArray(array));
 System.out.println("Average=" + avgArray(array));
 printArray(array);
 类似资料:
  • 但是,当我试图将此代码更改为以下代码时,我得到了一个错误-错误:Main method,在类MyClass中找不到,请将Main method,定义为:public static void Main(string[]args)。我需要接收owner和consumerName作为我的程序的参数/输入。 ,这是怎么做到的?

  • 问题内容: 数组不是Java中的原始类型,但它们也不是对象,因此它们是按值还是按引用传递?它是否取决于数组包含的内容,例如引用或原始类型? 问题答案: 。如果是Array(只不过是Object),则数组引用按值传递。(就像对象引用按值传递)。 当你将数组传递给其他方法时,实际上是复制对该数组的引用。 通过该引用对数组内容进行的任何更改都会影响原始数组。 但是,将引用更改为指向新数组不会更改原始方法

  • 数组在Java中不是一种基元类型,但它们也不是对象,那么它们是通过值传递还是通过引用传递呢?它是否取决于数组包含什么,例如引用或基元类型?

  • 问题内容: 在java中是值传递还是引用传递,有什么区别? 问题答案: Java总是按值传递参数,而不是按引用传递参数。 看下面一个实例:

  • 我正在一个java类中运行一个python脚本,如下所示: 问题在于脚本。py通常采用如下命令行参数: Pythonscript.py-i C:/diretory/path-o C:/目录/路径 有可能在Java中通过PythonTeperter传递这些参数吗? 更新: 感谢Juned Ahsan我的代码现在是这样的: 但是脚本仍然没有得到任何参数。 我这样用对了吗?

  • 问题内容: 我一直在寻找答案,但只能找到答案。 我有一个按钮可以选择。没有代码,我通过“接口”构建器进行设置。上,我有一个按钮,可以自行关闭 我想从视图传递回时传递一个字符串。我该怎么做呢?另外,我正在使用swift。 提前致谢! 问题答案: 有两种常见的模式,这两种模式都消除了viewController2明确了解viewController1的需要(这对于可维护性非常重要): 为您的viewC