[英]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
生成,所以你可以隨機從您的挑選typeList
和nameList
。
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.