java實現匯入excel功能
阿新 • • 發佈:2022-03-17
mport java.util.Random; import java.util.Scanner;/* 請編寫一個猜拳的遊戲 有個人 Tom,設計他的成員變數. 成員方法, 可以電腦猜拳. 電腦每次都會隨機生成 0, 1, 2 0 表示 石頭 1 表示剪刀 2 表示 布 並要可以顯示 Tom的輸贏次數(清單), 假定 玩三次.*/ // 測試類,主類 public class MoraGame { // 測試public static void main(String[] args) { // 建立一個玩家物件 Tom t = new Tom(); // 用來記錄最後輸贏的次數 int isWinCount = 0; // 建立一個二維陣列,用來接收局數,Tom出拳情況以及電腦出拳情況 int[][] arr1 = new int[3][3]; int j = 0; // 建立一個一維陣列,用來接收輸贏情況 String[] arr2 = new String[3]; Scanner scanner = new Scanner(System.in); for (int i = 0; i < 3; i++) { //比賽3次 // 獲取玩家出的拳 System.out.println("請輸入你要出的拳(0-拳頭,1-剪刀,2-布):"); int num = scanner.nextInt(); t.setTomGuessNum(num); int tomGuess = t.getTomGuessNum(); arr1[i][j + 1] = tomGuess; // 獲取電腦出的拳 int comGuess = t.computerNum(); arr1[i][j + 2] = comGuess; // 將玩家猜的拳與電腦做比較 String isWin = t.vsComputer(); arr2[i] = isWin; arr1[i][j] = t.count; // 對每一局的情況進行輸出 System.out.println("========================================="); System.out.println("局數\t玩家的出拳\t電腦的出拳\t輸贏情況"); System.out.println(t.count + "\t" + tomGuess + "\t\t" + comGuess + "\t\t" + t.vsComputer()); System.out.println("========================================="); System.out.println("\n\n"); isWinCount = t.winCount(isWin); } // 對遊戲的最終結果進行輸出 System.out.println("局數\t玩家的出拳\t電腦的出拳\t\t輸贏情況"); for (int a = 0; a < arr1.length; a++) { for (int b = 0; b < arr1[a].length; b++) { System.out.print(arr1[a][b] + "\t\t\t"); } System.out.print(arr2[a]); System.out.println(); } System.out.println("你贏了" + isWinCount + "次"); } } // Tom類 class Tom { // 核心程式碼 // 玩家出拳的型別 int tomGuessNum; //0,1,2 // 電腦出拳的型別 int comGuessNum; //0,1,2 // 玩家贏的次數 int winCountNum; // 比賽的次數 int count = 1; //一共比賽3次 public void showInfo() { //.... } /** * 電腦隨機生成猜拳的數字的方法 * @return */ public int computerNum() { Random r = new Random(); comGuessNum = r.nextInt(3); // 方法 返回 0-2的隨機數 // System.out.println(comGuessNum); return comGuessNum; } /** * 設定玩家猜拳的數字的方法 * @param tomGuessNum */ public void setTomGuessNum(int tomGuessNum) { if (tomGuessNum > 2 || tomGuessNum < 0) { //丟擲一個異常, 李同學會寫,沒有處理 throw new IllegalArgumentException("數字輸入錯誤"); } this.tomGuessNum = tomGuessNum; } public int getTomGuessNum() { return tomGuessNum; } /** * 比較猜拳的結果 * @return 玩家贏返回true,否則返回false */ public String vsComputer() { //比較巧 if (tomGuessNum == 0 && comGuessNum == 1) { return "你贏了"; } else if (tomGuessNum == 1 && comGuessNum == 2) { return "你贏了"; } else if (tomGuessNum == 2 && comGuessNum == 0) { return "你贏了"; } else if (tomGuessNum == comGuessNum){ return "平手"; } else { return "你輸了"; } } /** * 記錄玩家贏的次數 * @return */ public int winCount(String s) { count++; //控制玩的次數 if (s.equals("你贏了")) { //統計贏的次數 winCountNum++; } return winCountNum; } }