簡體   English   中英

如何使用int和字符串創建隨機gen矩陣

[英]How to create a random gen matrix with int's and strings

所以我的AP CS班希望我們做以下事情,我已經寫了我所知道的。 然后,我讓我的APSC老師記錄了我需要做的任何幫助,我們將不勝感激。 如果可能的話,我也希望將其壓縮或簡化,因為我被告知我的代碼非常草率且重復

亞軍:

import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import static java.lang.System.*;

public class ForestRunner
{
public static void main( String args[] ) throws IOException
{
    for( int i = 0; i < 3; i++ )
    {
        Forest woods = new Forest(7, 5); //Creates object called woods using Forest class
        System.out.println( woods + "\n\n"); //prints contents of woods
        System.out.println( woods.setTrappedToNull() + "\n\n"); //setTrappedToNull
        System.out.println( woods + "\n\n");//prints out second random forest
    }
  }
}

事情:

import java.util.Scanner;
import static java.lang.System.*;

public class Thing
{
private String type;
private String name;
private double size;

    public Thing( String t, String n, double s)
{
    type = t;
    name = n;
    size = s;
}

public String getType()
{
    return type;
}

public double getSize()
{
    return size;
}

public String toString()
{
    return "" + type + " " + name + " " + String.format("%.2f",size) + " ";
}

森林:

import java.util.Scanner;
import static java.lang.System.*;

public class Forest
{
private Thing[][] grid;//no size designated here

    public Forest(int rows, int cols)
    {
    final String[] typeList = "cat dog tree rock".split(" ");
    final String[] nameList = "a b c d e f g h i j k l m n o p q r t s u v w x y z".split(" ");

    //load typeList and nameList contents into the grid randomly
    //grid needs a size. Sample size is [7][5]

}

public int setTrappedToNull( )
{
    return 0;
} //test for animals trapped in this method, retun count value

  //if location ! a rock && 
  //is surrounded by > 5 trees or rocks larger than 10
public boolean isTrapped( int r, int c)
{
    return false;
}

private boolean inBounds( int r, int c)//test for keeping your program inbounds to prevent an outof bounds exception
{
    return false;
}

public String toString()
{
    return "";
 }
}



Sample Output : 

rock s 33.24 dog z 31.36 cat l 34.73 dog q 32.48 rock f 15.53

tree b 20.22 rock v 31.07 dog k 24.11 rock j 29.67 cat o 22.84

cat n 11.48 cat y 15.86 tree i 28.91 tree m 10.93 rock e 26.01

cat b 25.62 rock g 22.69 cat x 27.56 tree k 27.11 rock s 19.67

dog q 31.82 dog f 27.71 dog k 23.79 rock r 13.99 dog r 11.19

rock g 11.21 tree k 26.45 rock q 28.12 cat u 21.33 tree j 10.13

rock z 15.60 dog k 14.00 tree k 30.50 dog q 12.64 dog f 27.06

1

rock s 33.24 dog z 31.36 cat l 34.73 dog q 32.48 rock f 15.53

tree b 20.22 rock v 31.07 dog k 24.11 rock j 29.67 cat o 22.84

cat n 11.48 cat y 15.86 null tree m 10.93 rock e 26.01

cat b 25.62 rock g 22.69 cat x 27.56 tree k 27.11 rock s 19.67

dog q 31.82 dog f 27.71 dog k 23.79 rock r 13.99 dog r 11.19

rock g 11.21 tree k 26.45 rock q 28.12 cat u 21.33 tree j 10.13

rock z 15.60 dog k 14.00 tree k 30.50 dog q 12.64 dog f 27.06

dog p 15.28 cat o 29.06 dog i 30.91 cat e 18.11 tree k 12.01

cat n 12.08 tree y 26.60 tree l 11.73 cat f 24.06 rock r 34.27

rock y 18.90 rock f 11.19 rock v 32.68 rock x 14.26 rock d 17.15

rock t 33.81 dog g 33.47 tree u 11.65 tree v 17.25 tree f 30.87

rock p 31.20 tree a 21.62 rock c 28.97 cat q 15.69 rock l 26.72

dog s 26.94 rock l 34.86 tree v 13.78 dog e 29.31 cat p 16.72

tree u 19.79 dog t 27.13 cat y 28.62 dog p 24.89 cat k 29.82

5

dog p 15.28 cat o 29.06 dog i 30.91 cat e 18.11 tree k 12.01

cat n 12.08 tree y 26.60 tree l 11.73 null rock r 34.27

rock y 18.90 rock f 11.19 rock v 32.68 rock x 14.26 rock d 17.15

rock t 33.81 null null null tree f 30.87

rock p 31.20 null rock c 28.97 cat q 15.69 rock l 26.72

dog s 26.94 rock l 34.86 tree v 13.78 dog e 29.31 cat p 16.72

tree u 19.79 dog t 27.13 cat y 28.62 dog p 24.89 cat k 29.82

tree i 20.12 dog z 29.19 cat k 34.40 cat f 18.66 dog m 11.27

dog f 12.43 dog s 10.12 tree p 20.14 rock u 18.68 dog j 20.88

dog f 14.80 rock o 20.84 dog c 32.41 cat c 32.01 rock i 28.01

tree p 23.28 dog i 23.81 rock s 29.94 dog g 27.77 dog u 11.33

dog u 26.07 rock k 16.94 cat s 33.54 cat b 32.08 tree q 30.11

dog q 33.35 tree i 22.39 dog e 15.48 dog j 12.73 rock b 24.13

cat r 17.76 cat i 16.25 rock t 22.29 rock v 28.03 cat d 11.71

0

 tree i 20.12 dog z 29.19 cat k 34.40 cat f 18.66 dog m 11.27

dog f 12.43 dog s 10.12 tree p 20.14 rock u 18.68 dog j 20.88

dog f 14.80 rock o 20.84 dog c 32.41 cat c 32.01 rock i 28.01

tree p 23.28 dog i 23.81 rock s 29.94 dog g 27.77 dog u 11.33

dog u 26.07 rock k 16.94 cat s 33.54 cat b 32.08 tree q 30.11

dog q 33.35 tree i 22.39 dog e 15.48 dog j 12.73 rock b 24.13

我認為您想隨機填充Thing[][] grid 修改您的Forest類有一個Random生成,所以你可以隨機從您的挑選typeListnameList

public static void main(String[] args) throws Exception {
    for (int i = 0; i < 3; i++) {
        Forest woods = new Forest(7, 5); //Creates object called woods using Forest class
        // System.out.println(woods + "\n\n"); //prints contents of woods
        // System.out.println(woods.setTrappedToNull() + "\n\n"); //setTrappedToNull
        // System.out.println(woods + "\n\n");//prints out second random forest
    }
}

public static class Forest {
    private Random rand;
    private Thing[][] grid; //no size designated here

    public Forest(int rows, int cols) {
        final String[] typeList = "cat dog tree rock".split(" ");
        final String[] nameList = "a b c d e f g h i j k l m n o p q r t s u v w x y z".split(" ");

        //load typeList and nameList contents into the grid randomly
        //grid needs a size. Sample size is [7][5]
        rand = new Random();
        grid = new Thing[rows][cols];
        for (int row = 0; row < rows; row++) {
            for (int col = 0; col < cols; col++) {
                // I don't know what number you expect size to be (3rd parameter to Thing constructor), so I just give it a random number
                grid[row][col] = new Thing(typeList[rand.nextInt(typeList.length)], nameList[rand.nextInt(nameList.length)], rand.nextInt());

                // I put this here just for testing to see that your grid is randomly populated
                System.out.println(grid[row][col]);
            }
        }
    }

    // ... 
    // The rest of your class
}

結果(並非所有結果都在屏幕截圖中):

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM