【java】八皇后问题

八皇后

大体思路是:定义一个含八个元素的一维数组,在一个循环八次的循环里,依次随机产生所在行皇后的位置(0到7),且不与之前产生的相同。
而在产生随机位置时,实时打印。详情请看代码。

public class EightQueens {

	public static void main(String[] args) {
		
		int[] chessboard = new int[8];
		
		for(int i = 0; i < 8;) {
			int queen = (int)(Math.random() * 8);
			if(chessboard[queen] == 0) {
				chessboard[queen] = 1;
				for(int j = 0; j < 8; j++) {
					if(j == queen) {
						if(j == 7)
							System.out.printf("|Q|");
						else
							System.out.printf("|Q");
					}	
					else {
						if(j == 7)
							System.out.printf("| |");
						else
							System.out.printf("| ");
					}	
				}
				System.out.printf("\n");
				i++;
			} 
		}
	}
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42313005/article/details/83211585