Java實(shí)現(xiàn)簡(jiǎn)單掃雷程序
用Java實(shí)現(xiàn)簡(jiǎn)單掃雷程序,供大家參考,具體內(nèi)容如下
頁(yè)面設(shè)置:框架是borderlayout,在上中下加入外面要加入的組件(左邊和右邊不加)。掃雷用的布局是gridlayout即網(wǎng)格布局,與掃雷界面天然契合。
組件:使用panel,button,frame,label等組件,最后集中到frame中形成整體。并對(duì)其加入適當(dāng)?shù)谋O(jiān)聽,監(jiān)聽算法的實(shí)現(xiàn)如下。
掃雷算法:一共要考慮三種情況,第一種是點(diǎn)到雷的情況,第二種是點(diǎn)到空的格的情況,第三種是點(diǎn)到有數(shù)字的情況。下面我們對(duì)這些情況一一進(jìn)行考慮,完成算法的設(shè)計(jì)。首先隨機(jī)生成一個(gè)掃雷的圖,上面包含有隨機(jī)生成的雷,雷旁邊的數(shù)字和空白組成的矩陣matrix,之后所有的監(jiān)聽都依照這個(gè)矩陣matrix為參照。
①點(diǎn)到空的時(shí)候,調(diào)用遞歸算法尋找旁邊空格(周圍一圈)的將其顯示(這里筆者就是幫他換了一個(gè)顏色,即完成了
顯示工作,讀者也可以將點(diǎn)擊的button組件換成label),直到找到是數(shù)字的格就停止對(duì)這個(gè)方向上的顯示。
②點(diǎn)到數(shù)字的時(shí)候,就將格子顯示。
③點(diǎn)到雷的時(shí)候,顯示全部matrix中的值,即結(jié)束游戲。
遞歸算法:當(dāng)點(diǎn)擊空白格時(shí),對(duì)其周圍一圈的格子進(jìn)行查找,當(dāng)它是隔空的時(shí)候就將它顯示,如果不是就停止對(duì)這個(gè)格子上的遞歸算法。
參照矩陣matrix的生成:隨機(jī)使用random函數(shù)隨機(jī)生成1-size(掃雷的規(guī)模)的隨機(jī)數(shù),形成雷的橫縱坐標(biāo),并加入matrix中,這里的矩陣是string類型的,雷用“*”表示,根據(jù)雷的位置,分別對(duì)其周圍的格子上的數(shù)字加1,即形成參照矩陣。
算法的改進(jìn):加入菜單欄,實(shí)時(shí)計(jì)時(shí)器,改變掃雷游戲規(guī)模,及代碼比較冗余(畢竟完成大于完美),這里為讀者提供一個(gè)模板,讀者可以以此參照做進(jìn)一步修改。
下面是成品的展示圖和源碼:
import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; /* ?* 掃雷 ?*/ ?class newJButton extends JButton { ?? ?// 新建組合JButton類 ?? ?int axisx; ?? ?int axisy; ?? ?newJButton(String s, int axisx, int axisy) { ?? ??? ?super(s); ?? ??? ?this.axisx = axisx; ?? ??? ?this.axisy = axisy; ?? ?} ?? ?public int getaxisx() { ?? ??? ?return axisx; ?? ?} ?? ?public int getaxisy() { ?? ??? ?return axisy; ?? ?} } public class MineTest implements ActionListener { ?? ?// 組件定義 ?? ?static final int size = 10; // 掃雷游戲規(guī)模 ?? ?int time; // 計(jì)算雷的個(gè)數(shù) ?? ?JFrame frame = new JFrame("掃雷"); ?? ?JPanel panel1 = new JPanel(); // 計(jì)時(shí)器 ?? ?JPanel panel2 = new JPanel(); // 笑臉 ?? ?JPanel panel3 = new JPanel(); // 初級(jí)掃雷 ?? ?newJButton t; ?? ?newJButton t2; ?? ?long programStart = System.currentTimeMillis(); ?? ?long programOver; ?? ?String[][] matrix = new String[size][size]; // 掃雷信息記錄矩陣 ?? ?newJButton[][] buttons = new newJButton[size][size]; // 創(chuàng)建掃雷按鈕矩陣 ?? ?int[][] tip = new int[size][size]; // 判斷是否可以顯示按鈕 ?? ?// 提示 ?? ?public void inittime() { ?? ??? ?t = new newJButton("進(jìn)行中", 101, 101); ?? ??? ?t2 = new newJButton("/", 102, 102); ?? ??? ?panel2.add(t); ?? ??? ?panel2.add(t2); ?? ?} ?? ?// 笑臉 ?? ?public void initsmile() { ?? ??? ?newJButton b = new newJButton("O", 100, 100); // 將歸零按鍵"O"的坐標(biāo)設(shè)置為(100,100) ?? ??? ?b.addActionListener(this); ?? ??? ?panel1.add(b); ?? ?} ?? ?// 初級(jí)掃雷 ?? ?public void initmine() { ?? ??? ?panel3.setLayout(new GridLayout(10, 10, 1, 1)); ?? ??? ?// panel3.setSize(250,250); ?? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ?// button.setSize(25,25); ?? ??? ??? ??? ?panel3.add(buttons[i][j]); ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?// 總界面的組合 ?? ?public void initcombine() { ?? ??? ?frame.setLayout(new BorderLayout()); ?? ??? ?frame.add(panel1, BorderLayout.NORTH); ?? ??? ?frame.add(panel2, BorderLayout.CENTER); ?? ??? ?frame.add(panel3, BorderLayout.SOUTH); ?? ??? ?// frame.add(panel4); ?? ?} ?? ?// 掃雷頁(yè)面初始化 ?? ?MineTest() { ?? ??? ?// 產(chǎn)生按鈕 ?? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ?newJButton jb = new newJButton(" ", i, j); ?? ??? ??? ??? ?jb.setBackground(Color.WHITE); ?? ??? ??? ??? ?jb.addActionListener(this); ?? ??? ??? ??? ?buttons[i][j] = jb; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?inittime(); ?? ??? ?initsmile(); ?? ??? ?initmine(); ?? ??? ?initcombine(); ?? ??? ?frame.setVisible(true); ?? ??? ?frame.setSize(500, 500); ?? ??? ?frame.setLocation(700, 300); ?? ??? ?frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 可以關(guān)閉 ?? ??? ?// frame.pack(); ?? ??? ?// 產(chǎn)生size個(gè)雷并加入到矩陣中 ?? ??? ?do { ?? ??? ??? ?time = 0; ?? ??? ??? ?pmatrix(); // 初始化原始矩陣 ?? ??? ??? ?boom(); // 加入雷 ?? ??? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ??? ?if (matrix[i][j] == "*") { ?? ??? ??? ??? ??? ??? ?time = time + 1; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} while (time != 10); ?? ??? ?caculate(); // 計(jì)算掃雷矩陣中的距離 ?? ??? ?// 形成改變顏色的狀態(tài)矩陣 ?? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?tip[i][j] = 0; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ?// 打印 ?? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ?System.out.print(matrix[i][j] + " "); ?? ??? ??? ?} ?? ??? ??? ?System.out.println("\n"); ?? ??? ?} ?? ?} ?? ?private void pmatrix() { ?? ??? ?// 掃雷矩陣初始化 ?? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ?matrix[i][j] = "0"; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?private void boom() { ?? ??? ?// 產(chǎn)生炸彈; ?? ??? ?int num = 0; ?? ??? ?while (num < size) { ?? ??? ??? ?int i = (int) (Math.random() * size); ?? ??? ??? ?int j = (int) (Math.random() * size); ?? ??? ??? ?matrix[i][j] = "*"; ?? ??? ??? ?num = num + 1; ?? ??? ?} ?? ?} ?? ?@Override ?? ?public void actionPerformed(ActionEvent e) { ?? ??? ?// 按鈕響應(yīng)事件 ?? ??? ?newJButton temp = (newJButton) e.getSource(); ?? ??? ?if (temp.getText() == "O") { ?? ??? ??? ?// 產(chǎn)生size個(gè)雷并加入到矩陣中 ?? ??? ??? ?do { ?? ??? ??? ??? ?time = 0; ?? ??? ??? ??? ?pmatrix(); // 初始化原始矩陣 ?? ??? ??? ??? ?boom(); // 加入雷 ?? ??? ??? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ??? ??? ?if (matrix[i][j] == "*") { ?? ??? ??? ??? ??? ??? ??? ?time = time + 1; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} while (time != 10); ?? ??? ??? ?caculate(); // 計(jì)算掃雷矩陣中的距離 ?? ??? ??? ?// 形成改變顏色的狀態(tài)矩陣 ?? ??? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ??? ?tip[i][j] = 0; ?? ??? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?// 打印 ?? ??? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ??? ?System.out.print(matrix[i][j] + " "); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?System.out.println("\n"); ?? ??? ??? ?} ?? ??? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ??? ?buttons[i][j].setText(" "); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.WHITE); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?t.setLabel("進(jìn)行中"); ?? ??? ??? ?t2.setLabel("/"); ?? ??? ??? ?programStart = System.currentTimeMillis(); ?? ??? ??? ?// System.out.println("smile"); ?? ??? ?} else if (matrix[temp.getaxisx()][temp.getaxisy()] == "*") { ?? ??? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ??? ?if (matrix[i][j] != "0") { ?? ??? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ??? ?if (matrix[i][j] == "*") { ?? ??? ??? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.RED); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?t.setLabel("失敗"); ?? ??? ??? ?programOver = System.currentTimeMillis(); ?? ??? ??? ?t2.setLabel("" + (programOver - programStart) / 1000 + "s"); ?? ??? ?} else if (matrix[temp.getaxisx()][temp.getaxisy()] != "0") { ?? ??? ??? ?buttons[temp.getaxisx()][temp.getaxisy()].setText(matrix[temp.getaxisx()][temp.getaxisy()]); ?? ??? ??? ?buttons[temp.getaxisx()][temp.getaxisy()].setBackground(Color.gray); ?? ??? ?} else if (matrix[temp.getaxisx()][temp.getaxisy()] == "0") { ?? ??? ??? ?digui(temp.getaxisx(), temp.getaxisy()); ?? ??? ?} ?? ?} ?? ?private void digui(int i, int j) { ?? ??? ?// 遞歸調(diào)用該函數(shù),處理按鈕是“0”的情況 ?? ??? ?if (i == 0 && j == 0) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i, j + 1); ?? ??? ??? ??? ?digui(i + 1, j + 1); ?? ??? ??? ??? ?digui(i + 1, j); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (i == 0 && j == size-1) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i, j - 1); ?? ??? ??? ??? ?digui(i + 1, j - 1); ?? ??? ??? ??? ?digui(i + 1, j); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (i == size-1 && j == 0) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i, j + 1); ?? ??? ??? ??? ?digui(i - 1, j + 1); ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (i == size-1 && j == size-1) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i, j - 1); ?? ??? ??? ??? ?digui(i - 1, j - 1); ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (i == 0) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i, j - 1); ?? ??? ??? ??? ?digui(i, j + 1); ?? ??? ??? ??? ?digui(i + 1, j - 1); ?? ??? ??? ??? ?digui(i + 1, j); ?? ??? ??? ??? ?digui(i + 1, j + 1); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (j == 0) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ??? ?digui(i + 1, j); ?? ??? ??? ??? ?digui(i - 1, j + 1); ?? ??? ??? ??? ?digui(i, j + 1); ?? ??? ??? ??? ?digui(i + 1, j + 1); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (i == size-1) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i - 1, j - 1); ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ??? ?digui(i - 1, j + 1); ?? ??? ??? ??? ?digui(i, j - 1); ?? ??? ??? ??? ?digui(i, j + 1); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else if (j == size-1) { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ??? ?digui(i + 1, j); ?? ??? ??? ??? ?digui(i - 1, j - 1); ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} else { ?? ??? ??? ?if (tip[i][j] == 0) { ?? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?digui(i - 1, j - 1); ?? ??? ??? ??? ?digui(i - 1, j); ?? ??? ??? ??? ?digui(i - 1, j + 1); ?? ??? ??? ??? ?digui(i, j - 1); ?? ??? ??? ??? ?digui(i, j + 1); ?? ??? ??? ??? ?digui(i + 1, j - 1); ?? ??? ??? ??? ?digui(i + 1, j); ?? ??? ??? ??? ?digui(i + 1, j + 1); ?? ??? ??? ?} else { ?? ??? ??? ??? ?if (matrix[i][j] == "0") { ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ?buttons[i][j].setText(matrix[i][j]); ?? ??? ??? ??? ??? ?buttons[i][j].setBackground(Color.gray); ?? ??? ??? ??? ??? ?tip[i][j] = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?public static void main(String[] args) { ?? ??? ?new MineTest(); ?? ?} ?? ?private void caculate() { ?? ??? ?// 計(jì)算掃雷矩陣中的距離 ?? ??? ?for (int i = 0; i < size; i++) { ?? ??? ??? ?for (int j = 0; j < size; j++) { ?? ??? ??? ??? ?if (matrix[i][j] == "*") { ?? ??? ??? ??? ??? ?if (i == 0 && j == 0) { ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j] = String.valueOf(Integer.parseInt(matrix[i + 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j + 1] = String.valueOf(Integer.parseInt(matrix[i][j + 1])); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (i == 9 && j == 0) { ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j] = String.valueOf(Integer.parseInt(matrix[i - 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j + 1] = String.valueOf(Integer.parseInt(matrix[i][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (i == 0 && j == 9) { ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j] = String.valueOf(Integer.parseInt(matrix[i + 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j - 1] = String.valueOf(Integer.parseInt(matrix[i][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (i == 9 && j == 9) { ?? ??? ??? ??? ??? ??? ?if (matrix[i][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j - 1] = String.valueOf(Integer.parseInt(matrix[i][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j] = String.valueOf(Integer.parseInt(matrix[i - 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (i == 0) { ?? ??? ??? ??? ??? ??? ?if (matrix[i][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j - 1] = String.valueOf(Integer.parseInt(matrix[i][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j + 1] = String.valueOf(Integer.parseInt(matrix[i][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j] = String.valueOf(Integer.parseInt(matrix[i + 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (j == 0) { ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j] = String.valueOf(Integer.parseInt(matrix[i - 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j + 1] = String.valueOf(Integer.parseInt(matrix[i][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j] = String.valueOf(Integer.parseInt(matrix[i + 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (i == 9) { ?? ??? ??? ??? ??? ??? ?if (matrix[i][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j - 1] = String.valueOf(Integer.parseInt(matrix[i][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j + 1] = String.valueOf(Integer.parseInt(matrix[i][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j] = String.valueOf(Integer.parseInt(matrix[i - 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else if (j == 9) { ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j] = String.valueOf(Integer.parseInt(matrix[i - 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j] = String.valueOf(Integer.parseInt(matrix[i + 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j - 1] = String.valueOf(Integer.parseInt(matrix[i][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} else { ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j] = String.valueOf(Integer.parseInt(matrix[i - 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i - 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i - 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i - 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j - 1] = String.valueOf(Integer.parseInt(matrix[i][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i][j + 1] = String.valueOf(Integer.parseInt(matrix[i][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j - 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j - 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j - 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j] = String.valueOf(Integer.parseInt(matrix[i + 1][j]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?if (matrix[i + 1][j + 1] != "*") { ?? ??? ??? ??? ??? ??? ??? ?matrix[i + 1][j + 1] = String.valueOf(Integer.parseInt(matrix[i + 1][j + 1]) + 1); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ?} }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Eclipse手動(dòng)導(dǎo)入DTD文件實(shí)現(xiàn)方法解析
這篇文章主要介紹了Eclipse手動(dòng)導(dǎo)入DTD文件實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10SSH框架網(wǎng)上商城項(xiàng)目第25戰(zhàn)之使用java email給用戶發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第25戰(zhàn)之使用java email給用戶發(fā)送郵件,感興趣的小伙伴們可以參考一下2016-06-06Java中通過(guò)反射實(shí)現(xiàn)代理Proxy代碼實(shí)例
這篇文章主要介紹了Java中通過(guò)反射實(shí)現(xiàn)代理Proxy代碼實(shí)例,java實(shí)現(xiàn)代理可以通過(guò)java.lang.reflect.Proxy接口結(jié)合java.lang.reflect.InvocationHandler來(lái)實(shí)現(xiàn),需要的朋友可以參考下2023-08-08java WSDL接口webService實(shí)現(xiàn)方式
這篇文章主要為大家詳細(xì)介紹了java WSDL接口webService實(shí)現(xiàn)方式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04Springboot+Mybatis中typeAliasesPackage正則掃描實(shí)現(xiàn)方式
這篇文章主要介紹了Springboot+Mybatis中typeAliasesPackage正則掃描實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java try catch finally異常處理組合詳解
這篇文章主要介紹了Java try catch finally異常處理組合詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05從0開始學(xué)習(xí)大數(shù)據(jù)之java spark編程入門與項(xiàng)目實(shí)踐
這篇文章主要介紹了從0開始學(xué)習(xí)大數(shù)據(jù)之java spark編程入門與項(xiàng)目實(shí)踐,結(jié)合具體入門項(xiàng)目分析了大數(shù)據(jù)java spark編程項(xiàng)目建立、調(diào)試、輸出等相關(guān)步驟及操作技巧,需要的朋友可以參考下2019-11-11Java中使用StackWalker和Stream API進(jìn)行堆棧遍歷
StackWalking API是添加到Java中最酷的(并且對(duì)大多數(shù)開發(fā)人員來(lái)說(shuō)完全不切實(shí)際,一般不會(huì)用,除非深層跟蹤調(diào)優(yōu))的功能之一。在這篇簡(jiǎn)短的文章中,我們將看到它是什么以及使用它有多么容易,很快的認(rèn)識(shí)它2018-09-09spring是如何實(shí)現(xiàn)聲明式事務(wù)的
這篇文章主要介紹了spring是如何實(shí)現(xiàn)聲明式事務(wù)的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04