有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

向方法发送多个参数并返回值,Java

我是编程新手。我遇到了一个问题:

编写一个程序,用2到10之间的伪随机整数填充三个数组a、b和c,所有长度都是8,包括2但不包括10,并将长度为8的第四个数组d的数组元素设置为a、b和c的相应元素之和,然后输出四个数组,如下所示。获取三个数组(a、b和c)在main中生成并传递给非main方法,以添加相应的元素以确定和数组(d),并将和数组(d)返回给main。所有四个阵列都从主机输出。"

到目前为止,我用随机元素创建数组a、b和c没有问题。但是我不知道如何在main之外创建d(如何发送多个参数,如何将值返回到main)。请帮忙

我试过这样的方法:

这是怎么回事

public static void main(String args[]){
//generated arrays a, b, c
        d[] = assemble (a, b, c);
    }
    public assemble (int a, int b, int c){
            int d = a + b + c;
            return;
    }
}

共 (2) 个答案

  1. # 1 楼答案

    第一个问题(伪随机数生成):Math.random() explained

    问题的第二部分:迭代(循环)数组,将每个伪随机整数值相加,并将结果存储在相应的索引位置:d[i]=a[i]+b[i]+c[i]

    由于您的要求是使所有数组具有相同的长度,我可能会创建一个常量整数MAX_SIZE并将其设置为8。当您声明四个数组时,我将使用此常量指定大小(即int[]a=new int[8])

    我不清楚“如下所示并输出所有四个阵列”的说明。我不知道“下文”在这种情况下的含义。但是,我假设在分配每个值时,可以使用系统。输出以将每个值输出到屏幕

    “我不知道如何在main之外创建d。”数组“d”是存储在a、b和c中的值的总和。您的代码是错误的,因为您正在将整数值(不是整数数组)传递给方法,并返回一个整数,然后尝试将其分配给数组(这是不兼容的数据类型)。汇编方法应将整数数组作为参数(a、b、c),并返回整数数组(d)。在这个方法中,您必须遍历正在传递的数组,获取每个索引位置中的值,并将总和分配给“d”上的相应索引。添加所有值后,将返回数组。这很简单。我不知道困难是什么。如果你能在“main”里面做,你也可以在它外面做

  2. # 2 楼答案

    一些伪代码:

    function main{
        // stuff going on
        array result;
        result = assemble (a, b c);
    }
    
    function array assemble (array a, array b, array c){
        // do something with the arrays
        // assing result to d
        return array d
    }
    

    在main中调用assembly并使其返回结果数组。将返回的数组分配给变量以存储结果

    在此之后,您将在main中拥有所有4个可用的数组(数组d存储在您创建的变量中),并且您可以打印出所有的数组,或者您需要对它们执行的任何操作

    Java示例:Passing arguments and returning result

    修改您的代码:

    public static void main(String args[]){
        //generated arrays a, b, c
            int[] d = assemble(a, b, c);
    }
        public int[] assemble(int[] a, int[] b, int[] c){
                int[] result;
                // do something with a b c and assign it result to result[]
                return result;
        }
    }