欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

簡單實現(xiàn)java數獨游戲-創(chuàng)新互聯(lián)

本文實例為大家分享了java數獨游戲的具體代碼,供大家參考,具體內容如下

創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站設計、成都做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元崇陽做網站,已為上家服務,為崇陽各地企業(yè)和個人服務,聯(lián)系電話:13518219792

打算把javaFx需要的組件裝好以后直接用javaFx的,但似乎eclipse的版本不對,安裝了也不能用...
數獨代碼是在之前寒假受命寫的,學了一個月java的成果,現(xiàn)在看來有些不足但畢竟是第一個程序,就直接放上來,數獨終盤的實現(xiàn)直接用了暴力,時間復雜度有點高,懶得改了直接放代碼


終盤實現(xiàn):


import java.util.Random; 
 
public class SudokuPuzzleGenerator { 
 private Random random = new Random(); 
  
 private static final int MAX_CALL_RANDOM_ARRAY_TIMES = 220; 
  
 private int currentTimes = 0; 
 
 public int[][] generatePuzzleMatrix() { 
 
  int[][] randomMatrix = new int[9][9]; 
 
  for (int row = 0; row < 9; row++) { 
   if (row == 0) { 
    currentTimes = 0; 
    randomMatrix[row] = buildRandomArray(); 
 
   } else { 
    int[] tempRandomArray = buildRandomArray(); 
 
    for (int col = 0; col < 9; col++) { 
     if (currentTimes < MAX_CALL_RANDOM_ARRAY_TIMES) { 
      if (!isCandidateNmbFound(randomMatrix, tempRandomArray, row, col)) { 
        
       resetValuesInRowToZero(randomMatrix,row); 
       row -= 1; 
       col = 8; 
       tempRandomArray = buildRandomArray(); 
      } 
     } else {  
      row = -1; 
      col = 8; 
      resetValuesToZeros(randomMatrix); 
      currentTimes = 0; 
     } 
    } 
   } 
  } 
  return randomMatrix; 
 } 
  
 private void resetValuesInRowToZero(int[][] matrix, int row) 
 { 
  for (int j = 0; j < 9; j++) { 
   matrix[row][j] = 0; 
  } 
   
 } 
 
 private void resetValuesToZeros(int[][] matrix) { 
  for (int row = 0; row < 9; row++) { 
   for (int col = 0; col < 9; col++) { 
    matrix[row][col] = 0; 
   } 
  } 
 } 
 
 private boolean isCandidateNmbFound(int[][] randomMatrix, int[] randomArray, int row, int col) { 
  for (int i = 0; i < 9; i++) { 
   randomMatrix[row][col] = randomArray[i]; 
   if (noConflict(randomMatrix, row, col)) { 
    return true; 
   } 
  } 
  return false; 
 } 
 
 private boolean noConflict(int[][] candidateMatrix, int row, int col) { 
  return noConflictInRow(candidateMatrix, row, col)&&noConflictInColumn(candidateMatrix, row, col) && noConflictInBlock(candidateMatrix, row, col); 
 } 
 
 private boolean noConflictInRow(int[][] candidateMatrix, int row, int col) { 
   
  int currentValue = candidateMatrix[row][col]; 
 
  for (int colNum = 0; colNum < col; colNum++) { 
   if (currentValue == candidateMatrix[row][colNum]) { 
    return false; 
   } 
  } 
 
  return true; 
 } 
 
 private boolean noConflictInColumn(int[][] candidateMatrix, int row, int col) { 
 
  int currentValue = candidateMatrix[row][col]; 
 
  for (int rowNum = 0; rowNum < row; rowNum++) { 
   if (currentValue == candidateMatrix[rowNum][col]) { 
    return false; 
   } 
  } 
 
  return true; 
 } 
 
 private boolean noConflictInBlock(int[][] candidateMatrix, int row, int col) { 
 
  int baseRow = row / 3 * 3; 
  int baseCol = col / 3 * 3; 
 
  for (int rowNum = 0; rowNum < 8; rowNum++) { 
   if (candidateMatrix[baseRow + rowNum / 3][baseCol + rowNum % 3] == 0) { 
    continue; 
   } 
   for (int colNum = rowNum + 1; colNum < 9; colNum++) { 
    if (candidateMatrix[baseRow + rowNum / 3][baseCol + rowNum % 3] == candidateMatrix[baseRow 
      + colNum / 3][baseCol + colNum % 3]) { 
     return false; 
    } 
   } 
  } 
  return true; 
 
 }  
 private int[] buildRandomArray() { 
  currentTimes++; 
  int[] array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
  int randomInt = 0;  
  for (int i = 0; i < 20; i++) { 
   randomInt = random.nextInt(8) + 1; 
   int temp = array[0]; 
   array[0] = array[randomInt]; 
   array[randomInt] = temp; 
  } 
 
  return array; 
 } 
  
 public int getCurrentTimes() { 
  return currentTimes; 
 } 
  
 public void setCurrentTimes(int currentTimes) { 
  this.currentTimes = currentTimes; 
 } 
  
} 

分享標題:簡單實現(xiàn)java數獨游戲-創(chuàng)新互聯(lián)
網頁URL:http://aaarwkj.com/article28/hcpcp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、云服務器、品牌網站設計、面包屑導航、搜索引擎優(yōu)化、標簽優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
亚洲av成人在线播放| 日韩黄色一级片免费看| 国产成人久久精品二区三区| 国产情侣自拍视频在线观看| 国产一区二区欧美久久| 国产麻豆成人传媒免费观看| 日韩精品亚洲专区在线观看| 欧美午夜一区二区电影| 亚洲精品一级二级三级| 激情五月婷婷久久激情| 精品视频日韩在线观看| 国产日产精品一区二区三区四区| 性生活真实视频免费看| 国产精品久久久av大片| 天天操天天干夜夜骑| 成人av在线播放亚洲| 亚洲人成免费在线观看| 欧美一级午夜欧美午夜视频| 国偷蜜桃av一区二区三区| 久久精品女人天堂av免费观看| 日韩精品极品在线免费视频| 日韩二区三区在线视频| 99热精品在线免费观看| 深夜成人免费观看视频| 日本国产福利视频在线观看| 天天操天天日天天射夜夜爽| 天堂社区人妻在线亚洲| 国产亚洲日本精品二区| 亚洲熟妇av乱码在线| 国产传媒剧情剧资源网站| 外国男人搞亚洲女人在线| 欧美日本一区二区四区| 国产欧美一区二区三区高清| 国产精品一区波多野结衣| 国产精品亚洲综合制服日韩| 久久这里只有精品蜜桃| 中文字幕日本人妻影视| 欧美特黄大片在线观看| 国产剧情av色诱女教师| 国产精品色呦呦一区二区| 一区二区三区熟妇人妻视频 |