天天看點

java <>字元遊戲_java 實作一個簡單的猜字元小遊戲

用java的一些基礎知識來實作一個簡單的猜字母的小遊戲,就在控制台玩玩,目得也是為了熟悉熟悉java的基礎知識。

首先系統随機産生5個字母,然後我們認為輸入5個字母,輸入的字母和系統随機産生的字母做比較,隻有當5個字母順序完全正确才算猜對。總分為500分,猜錯一次扣10分,輸入“exit”退出遊戲。

代碼如下:

package com.test.basics;

import java.util.Scanner;

public class GuessGame {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

char[] chs = generator();

StringBuffer rand = new StringBuffer();

for(char ch:chs) {

rand.append(ch);

}

System.out.println("随機産生的字元為:"+rand.toString());//作弊,否則不好猜啊

int count = 0;

while(true) {

System.out.println("請輸入五個字母:");

String str = scan.nextLine().toUpperCase();//擷取輸入的字元串,并将其轉化為全大寫

if(str.equals("EXIT")) {

System.out.println("歡迎下次再來!");

break;

}

char[] input = str.toCharArray();

int[] result = check(chs, input);

if(result[0]==input.length) {

int score = 100*input.length-10*count;

System.out.println("恭喜你,猜對了,得分為"+score);

break;

}else {

count++;

System.out.println("本次位置對的字母個數為:"+result[0]+";字母正确的個數為:"+result[1]);

}

}

}

//産生随機字元的方法

public static char[] generator() {

char[] chs = new char[5];

char[] letters = new char[]{ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',

'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',

'W', 'X', 'Y', 'Z' };

boolean[] flags = new boolean[letters.length];

for(int i=0;i

int index;

do {

index = (int)(Math.random()*letters.length);

}while(flags[index]==true);

chs[i] = letters[index];

flags[index] = true;

}

return chs;

}

//随機字元和輸入的字元對比的結果

public static int[] check(char[] chs,char[] input) {

int[] result = new int[2];//result[0]表示位置猜對了,result[1]表示字元猜對了

for(int i=0;i

for(int j=0;j

if(chs[i]==input[j]) {

result[1]++;

if(i==j) {

result[0]++;

}

break;

}

}

}

return result;

}

}