0

所以我只是想找出一种将随机生成的数字放入数组列表的方法。我还尝试将 10 个数字放在一行 10 行中,总共打印出 100 个数字。

这是我尝试过的:

import java.util.*;
public class Part1 {

    public static void main(String[]args){

        int[] list = new int[100];

            for(int j=0; j<9; j++){
               System.out.println("");
               for(int g=0; g<9; g++){

                   for(int i=0; i<list.length; i++){

                       int rand = (int )(Math.random() * 500 + 1);

                       System.out.print(rand + " ");
                   }               
                }
           }
       }
   }

这是我认为最接近正确的
方法,但这是我尝试过的另一种方法:

import java.util.*;
public class Part1 {

    public static void main(String[]args){

        int[] list = new int[100];

        for(int i=0; i<list.length; i++){

            int rand = (int )(Math.random() * 500 + 1);


            for(int j=0; j<9; j++){
               System.out.println(rand + " ");
               for(int g=0; g<9; g++){
                  System.out.print("");
               }
            }
        }
    }
}

只是想了解如何将这些随机数放入一个数组中,然后能够将这些数字打印成 10 行。感谢您的提示和/或帮助。

4

3 回答 3

1

使用一维数组:

Random rand = new Random();
int[] list = new int[100];
int count = 1;

for (int i = 0; i < list.length; i++)
{
    list[i] =  rand.nextInt(500) + 1; 

    // check if you're at the 10th number in the line
    if (count % 10 > 0) System.out.print(list[i] + " "); // print on this line
    else System.out.println(list[i] + " "); // print on a new line
    count++;
}

使用二维数组(推荐):

    Random rand = new Random();
    int[][] list = new int[10][10];

    for (int r = 0; r < list.length; r++)
    {
        for (int c = 0; c < list[r].length; c++)
        {
            list[r][c] =  rand.nextInt(500) + 1;
            System.out.print(list[r][c] + " "); // print on this line
        }
        // this occurs when you're done displaying each row, so skip a line.
        System.out.println();
    }

使用ArrayList

Random rand = new Random();
List<Integer> list = new ArrayList<Integer>();
int count = 1;

for (int i = 0; i < 100; i++)
{
    list.add(rand.nextInt(500) + 1); 

    // check if you're at the 10th number in the line
    if (count % 10 > 0) System.out.print(list.get(i) + " "); // print on this line
    else System.out.println(list.get(i) + " "); // print on a new line
    count++;
}
于 2013-12-06T18:56:17.433 回答
0

享受 :)

import java.util.Random;
public class Uno {

    public static void main(String ... args){

        Random rand = new Random();
        int[] a = new int[100];
        for (int i=0; i<100; i++) {
            a[i] = rand.nextInt();
            System.out.print(a[i] + ", ");
            // perform modulo division by 10 to check if 10 results have been printed and add a new line
            if( (i+1)%10==0 ) { System.out.println(); }
        }
    }
}
于 2013-12-06T18:21:17.767 回答
0
 public static void main(String[]args){

        int[] list = new int[100];

        for(int i=0; i<list.length; i++){

            int rand = (int )(Math.random() * 500 + 1);
            list[i] = rand;
        }

        int lineNumberCounter = 0;

        for(int i=0; i<list.length; i++){


            if(lineNumberCounter == 10){
                System.out.println();
                lineNumberCounter=0;
            }

            System.out.print(list[i] + " ");
            lineNumberCounter++;

        }
 }

您可以通过将上述内容修改为:

   public static void main(String[]args){

        int[] list = new int[100];
        int lineNumberCounter = 0;

        for(int i=0; i<list.length; i++){

            int rand = (int )(Math.random() * 500 + 1);
            list[i] = rand;

            if(lineNumberCounter == 10){
                System.out.println();
                lineNumberCounter=0;
            }

            System.out.print(list[i] + " ");
            lineNumberCounter++;



        }




 }
于 2013-12-06T18:23:11.227 回答