import?java.util.Scanner;
//猜字符游戏
public?class?GuessingGame?{
//主方法
public?static?void?main(String[]?args)?{
Scanner?scan?=?new?Scanner(System.in);
int?count?=?0;?//猜错的次数
char[]?chs?=?generate();?//随机生成的字符数组
System.out.println(chs);?//作弊
while(true){?//自造死循环
System.out.println("猜吧!");
String?str?=?scan.next().toUpperCase();?//获取用户输入的字符串
if(str.equals("EXIT")){?//判断str是否是EXIT
System.out.println("下次再来吧!");
break;
}
char[]?input?=?str.toCharArray();?//将字符串转换为字符数组
int[]?result?=?check(chs,input);?//对比
int?score?=?chs.length*100?-?count*10;?//一个字符100分,错一次减10分
System.out.println("恭喜你猜对了,得分:"?+?score);
break;?//猜对时跳出循环
}else{?//没猜对
count++;?//猜错次数增1
System.out.println("字符对:"+result[1]+"个,位置对:"+result[0]+"个");
public?static?char[]?generate(){
char[]?letters?=?{?'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];?//1.
for(int?i=0;ichs.length;i++){
int?index;
do{
chs[i]?=?letters[index];
return?chs;
//对比随机数组与用户输入的数组
public?static?int[]?check(char[]?chs,char[]?input){
for(int?j=0;jinput.length;j++){
if(chs[i]==input[j]){?//字符对
result[1]++;?//字符对个数增1
if(i==j){?//位置对
result[0]++;?//位置对个数增1
return?result;
主要通过随机数与逻辑判断来实现游戏功能
实现代码如下:
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 产生一个随机数
int number = (int) (Math.random() * 100) + 1;
// 加入count
int count = 0;
// 今天这一节加入最大值,和最小值
int max = 100;
int min = 1;
while (true) {
// 键盘录入数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数据:(" + min + "~" + max + ")");
try {
count++;
int guessNumber = sc.nextInt();
// 判断
if (guessNumber number) {
max = guessNumber;
System.out.println("你猜大了");
} else if (guessNumber number) {
min = guessNumber;
System.out.println("你猜小了");
} else {
System.out.println("恭喜你,花了" + count + "次就猜中了");
// 问是否继续
System.out.println("请问还要继续吗?(yes)");
sc = new Scanner(System.in);
String str = sc.nextLine();
if ("yes".equals(str)) {
// 重写赋值随机数
number = (int) (Math.random() * 100) + 1;
count = 0;
max = 100;
min = 1;
} catch (InputMismatchException e) {
System.out.println("你输入的数据有误");
public?class?Guess?{
private?static?final?int?F?=?1;
private?static?final?int?T?=?100;
int?num?=?(int)(Math.random()?*?T)?+?F;
Scanner?s?=?new?Scanner(System.?in?);
//?初始化
int?guest?=?-1;
while?(true)?{
System.out.print("请输入你猜测的数字("?+?F?+?"-"?+?T?+?"):");
//?每次输入的值,采纳即可
guest?=?s.nextInt();
if?(guest?num)?{
System.out.println(F?+?"--"?+?guest);
}?else?if?(guest?num)?{
System.out.println(guest?+?"--"?+?T);
}?else?{
System.out.println("中奖了");
s.close();
以上就是土嘎嘎小编为大家整理的java中猜数字游戏代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!