📄 java 猜数字.txt
字号:
import java.io.*;
public class caishuzi
{
public static void main(String args[])
{
int cnum[]=new int[4],unum[]=new int[4];
int times,a,b,user_num=0;
for(int i=0;i<50;i++)
System.out.print("*");
System.out.println("\n");
System.out.println("猜数字游戏,计算机将生成一个无重复的四位整数(1~9)。\n");
System.out.println(" 2008-2-13 兰哲");
for(int i=0;i<50;i++)
System.out.print("*");
System.out.println();
do{ //生成随机数
cnum[0]=(int)(Math.random()*10+1);
cnum[1]=(int)(Math.random()*10+1);
cnum[2]=(int)(Math.random()*10+1);
cnum[3]=(int)(Math.random()*10+1);
for(int i=0;i<4;i++)
if(cnum[i]==10)
cnum[i]--; //不包括10
if(cnum[0]==cnum[1]||cnum[0]==cnum[2]||cnum[0]==cnum[3]||cnum[1]==cnum[2]||cnum[1]==cnum[3]||cnum[2]==cnum[3]) //保证获取的随机数无重复
continue;
else
break;
}while(true); //生成随机数结束
for(times=1;;times++) //用户动作
{
String s="";
try{
System.out.print("请输入一个不包括零的无重复的四位整数,按回车确定:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
s=br.readLine();
user_num=Integer.parseInt(s);
}catch(IOException e){}
a=0;
b=0;
if(user_num==7758258) //输入7758258显示答案
{
System.out.print("答案为:");
System.out.print(cnum[0]);
System.out.print(cnum[1]);
System.out.print(cnum[2]);
System.out.print(cnum[3]);
System.out.println();
times--;
continue;
}
else if(user_num>=1000&&user_num<=9999)
{
unum[0]=user_num/1000;
unum[1]=user_num/100-unum[0]*10;
unum[2]=user_num/10-unum[0]*100-unum[1]*10;
unum[3]=user_num%10;
if(unum[0]==unum[1]||unum[0]==unum[2]||unum[0]==unum[3]||unum[1]==unum[2]||unum[1]==unum[3]||unum[2]==unum[3]) //保证输入的数无重复
{
System.out.println("出现重复数字,请重新输入。");
times--;
continue;
}
for(int aa=0;aa<4;aa++) //aa,bb作为数组底数,用于比较正确个数 一次for语句仅用于一次数值判断获取a,b的值
{
//a为数值正确且位置正确,b为数字正确,但位置不正确
for(int bb=0;bb<4;bb++) //统计猜正确的数的个数。
{
if(unum[aa]==cnum[bb])
{
if(aa==bb)
a++;
else
b++;
break;
}
else
continue;
}
}
}
else
{
System.out.print("输入错误,重新输入。");
times--;
continue;
}
System.out.println();
System.out.print("猜对");
System.out.print(a);
System.out.print("个数字且位置也对");
System.out.print(" 位置不对但数字对的有");
System.out.print(b);
System.out.println("个。\n");
if(a==4)
{
for(int i=0;i<50;i++)
System.out.print("*");
System.out.println("\n");
System.out.print("恭喜你!你猜对了!");
System.out.print("用了");
System.out.print(times);
System.out.println("次。\n");
for(int i=0;i<50;i++)
System.out.print("*");
System.out.println("\n");
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -