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 day06import 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
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)