java基礎之猜字元小遊戲
阿新 • • 發佈:2019-02-02
遊戲目的:系統隨機生成五個不重複的字元,使用者輸入自己所猜想的字元,回車提交答案之後返回結果:猜對的字元個數和猜對的字元位置個數,最後答對返回所得分數
專案分析:設計資料結構+設計演算法
一:設計資料結構(設計變數):
整個遊戲涉及的變數:
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]);
}
最後我們輸出結果,和我們預想的一樣就,證明編寫的方法正確