java猜数字游戏?

java猜数字游戏?,第1张

import java.util.Random

import java.util.Scanner

/**

* @Author: Cool_Wu

* @Date: 2020-12-01 23:39

*/

public class GuessNumberGame {

 static int count = 0

 static int answer = new Random().nextInt(100)

 public static void main(String[] args) throws Exception {

     System.out.println("猜数字游戏开始,该数字是一个0~100之间的整数")

     compareNum()

 }

 public static void compareNum() throws Exception {

     if (count >= 10){

         System.out.println("正确答案是:" + answer)

         System.out.println("你太笨了,下次再来吧!")

   伍虚      return

     }

     count++

     int n = receiveNum()

     if (n <0){

         throw new Exception("您输入的数字不符合要求,请重新输入!")

     }

     if (n >99){

         throw new Exception("输入错误,请输入正确的数字!")

     }

     if (n <answer){

         System.out.println("太小了,再大一点!")

         compareNum()

     }

     if (n >answer){

         System.out.println("太大了,再小一点!")

         compareNum()

     }

     if (n == answer){

         System.out.println("恭喜你,猜对了!")

     }

 }

 public static int receiveNum() {

     System.out.println("请输入您亏滚猜的数字:")

     int n = new Scanner(System.in).nextInt()

     销橘余return n

 }

}

运行结果

package day06

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)  //对比

if(result[0]==chs.length){ //位置对为5

int score = chs.length*100 - count*10 //一个字符100分,错一次减10分

System.out.println("恭喜你猜对了,得分:" + score)

break //猜对时跳出循环

}else{ //没猜对

count++ //猜错次数增1

System.out.println("字符对:"+result[1]+"个,位袜型置对:"+result[0]+"个")

}

}

}

//随机生成5个字符数组

public static char[] generate(){

char[] chs = new char[5]

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=0i<晌纳chs.lengthi++){

int index

do{

index = (int)(Math.random()*letters.length) //0到25

}while(flags[index]==true) //2.

chs[i] = letters[index]

flags[index] = true //3.

}

return chs

}

//对比随机数宴好没组与用户输入的数组

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

int[] result = new int[2]

for(int i=0i<chs.lengthi++){

for(int j=0j<input.lengthj++){

if(chs[i]==input[j]){ //字符对

result[1]++ //字符对个数增1

if(i==j){ //位置对

result[0]++ //位置对个数增1

}

break

}

}

}

return result

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12555180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存