例如,在以下布局中:
. 8 * * *
. * * * *
. * 8 * *
. * * * *
所有面朝下的牌都由*
表示。面朝上的8
对位于坐标(1,1)和(2,3)处。
我已经完成了2D数组,现在我不得不打印*
。我所做的只是打印* * * *
。我不知道如何在数组中打印8
。
任何帮助?
public static void Shuffles(){
int[][]a = new int[4][4];
for (int i =0; i<4;i++){
for (int j=0;j<4;j++){
System.out.print("*");
System.out.print(" ");
}
System.out.println("");
System.out.println("");
}
}
public static void main(String [] args){
List<Integer> randoms = new ArrayList<Integer>();
Random randomizer = new Random();
int [][] memory = new int[4][4];
for(int i = 0; i < 8; ) {
int r = randomizer.nextInt(8)+1;
if(!randoms.contains(r)) {
randoms.add(r);
++i;
}
}
List<Integer> clonedList = new ArrayList<Integer>();
clonedList.addAll(randoms);
Collections.shuffle(clonedList);
randoms.addAll(clonedList);
for(int i=0; i < 4; i++){
memory[0][i] = randoms.get(i);
memory[1][i] = randoms.get(i+4);
memory[2][i] = randoms.get(i+8);
memory[3][i] = randoms.get(i+12);
}
for (int i =0; i<4;i++){
for (int j=0;j<4;j++){
System.out.print(memory[i][j]);
System.out.print(" ");
}
System.out.println("");
System.out.println("");
}
int x1,y1,x2,y2;
Scanner input = new Scanner(System.in);
System.out.print("Please enter the coordinate [x1] : ");
x1 = input.nextInt();
while((x1<1) || (x1>4)){
System.out.print("Invalid coordinate!! Re-enter [x1] : ");
x1 = input.nextInt();
}
System.out.print("Please enter the coordinate [y1] : ");
y1 = input.nextInt();
while((y1<1) || (y1>4)){
System.out.print("Invalid coordinate!! Re-enter [y1] : ");
y1 = input.nextInt();
}
System.out.print("Please enter the coordinate [x2] : ");
x2 = input.nextInt();
while((x2<1) || (x2>4)){
System.out.print("Invalid coordinate!! Re-enter [x2] : ");
x2 = input.nextInt();
}
System.out.print("Please enter the coordinate [y2] : ");
y2 = input.nextInt();
while((y2<1) || (y2>4)){
System.out.print("Invalid coordinate!! Re-enter [y2] : ");
y2 = input.nextInt();
}
x1=x1-1;
y1=y1-1;
x2=x2-1;
y2=y2-1;
if(memory[x1][y1] != memory[x2][y2]){
Shuffles();
}
} }
这是我到目前为止所做的一切......
答案 0 :(得分:1)
你在找这个吗?
// k is the number to display
//a[][] is the array
public static void Shuffles(int k, int[][]a)
{
for (int i =0; i<4;i++)
{
for (int j=0;j<4;j++)
{
if(a[i][j] == k)
{
System.out.print(a[i][j]);
}
else
{
System.out.print("*");
}
System.out.print(" ");
}
System.out.println("");
System.out.println("");
}
}
答案 1 :(得分:0)
一次打印一个位置。对于每一个,检查卡是否正面朝上,如果是,则打印该值,否则打印星形。 System.out.print()
将允许您在没有新行的情况下进行打印。
答案 2 :(得分:0)
您在寻找嵌套循环吗?
for (int y = 0; y < 8; y++)
{
for (int x = 0; x < 8; x++)
{
// Use 'x' and 'y' here to index your 2-D 8x8 array
system.out.println( ... );
}
}