1. 程式人生 > >java基礎之猜字元小遊戲

java基礎之猜字元小遊戲

遊戲目的:系統隨機生成五個不重複的字元,使用者輸入自己所猜想的字元,回車提交答案之後返回結果:猜對的字元個數和猜對的字元位置個數,最後答對返回所得分數

專案分析:設計資料結構+設計演算法

一:設計資料結構(設計變數):

整個遊戲涉及的變數:

1):系統隨機生成的字元:(相同型別且邏輯相同,故選擇字元陣列)char [] chs;

2)  :使用者輸入的字元 char  [] input;

3):返回的字元對個數和位置對個數 int result[];

4):返回所得分數int score

二:設計演算法

1.設計方法:通過分析,我們按功能封裝成方法,主方法不可少

public static void main(String[] args) {}
public static char[] genreate(){
//...
char[] chs = new char[5];
return chs;
}

public static int[] check(char[] chs,char[] input){
//...
int[] result = new int[2];
return result;
}

2.設計演算法

比較方法:

public static int[] check(char[] chs,char[] input) {
		int[] result=new int[2];
		for(int i=0;i<chs.length;i++) {
			for(int j=0;j<input.length;j++) {
				if(chs[i]==input[j]) {
					//字元正確,對應的字元對個數增1
					result[1]++;
					if(i==j) {
						//對應位置也增1
						result[0]++;
					}
					break;
					
				}
			}
			
		}
		return result;
	}

3.最後我們在設計程式時,注意進行單元測試,方便以後的專案整合

public static void main(String[] args) {
		//對比較方法進行測試
		char [] chs = {'A','B','C','D','E'};
		char[] input = {'S','F','C','E','G'};
		int[] result=check(chs,input);
		System.out.println(result[1]+","+result[0]);
	}
最後我們輸出結果,和我們預想的一樣就,證明編寫的方法正確