如何为2个不同的数组输出随机数?

时间:2015-02-12 02:30:12

标签: java arrays

这是我到目前为止所得到的,但两个数组的输出是相同的随机生成的数字,而不是每个数组的不同数字。

import java.util.Scanner;

public class Prog2_b {

    public static void main(String[] args) {

        Scanner scnr = new Scanner(System.in);
        System.out.println("Program #2b, Breanna Bergado, mascID 1885");
        System.out.println("Please enter number of elements for a 1D array:");

        int userVal = scnr.nextInt();
        //System.out.println(((Object)userVal).getClass().getName();
        double[] array = new double[userVal];
        double [] array2 = new double[userVal]; 
        double dotProd = 0;
        for(int i = 0; i < userVal; i++) {
            array[i] = Math.random();
            array2[i] = Math.random();

        }
        for (int j = 0; j < 2; j++){
            System.out.println("a"+(j+1)+"[]");
            System.out.println("----------------");
            for (int i = 0; i < userVal; i++) {
                System.out.println(array[i] + " ");


            }
            System.out.println();
        }



        for(int i = 0; i < userVal; i++) {
            dotProd = dotProd + array[i]* array2[i];

        }

        System.out.println("Dot Product is " + dotProd);

    }
}

1 个答案:

答案 0 :(得分:1)

您应该将打印逻辑更新为:

for (int i = 0; i < userVal; i++) {
    System.out.println(array[i] + " ");
}

System.out.println();

for (int j = 0; j < userVal; j++) {
    System.out.println(array2[j] + " ");
}

您当前的逻辑只打印第一个数组两次。您也可以使用嵌套数组作为建议的注释之一,但上面的代码将与您目前所拥有的一致。