📄 guessnum.java
字号:
///////////////////////////////////////////////
package guess;
///////////////////////////////////////////////
import java.lang.*;
import java.util.*;
///////////////////////////////////////////////
public class GuessNum
{
////////////////////内部数据//////////////
private String o = "0123";
private int gt = 0;
private boolean iw = false;
////////////////////成员函数//////////////
public boolean isWin() { return(iw); }
////////////////////成员函数//////////////
public int GetGuessTimes() { return(gt); }
////////////////////构造函数//////////////
GuessNum() { GetRndNum(); }
////////////////////成员函数//////////////
private void GetRndNum()
{
int i, rdata;
char temp;
char qq[] = {'0','1','2','3','4','5','6','7','8','9'};
// 以下为初始化数字序列和产生随机的四个数字的部分,
// 用这种方法在于可以确保数字无重复。
Random r = new Random();
for(i=9;i>0;i--)
{
rdata = Math.abs(r.nextInt()) % (i+1);
temp = qq[rdata];
qq[rdata] = qq[i];
qq[i] = temp;
}
o = "" + qq[0] + qq[1] + qq[2] + qq[3];
}
////////////////////成员函数//////////////
public boolean InputOK(String s)
{
byte ss[] = s.getBytes();
if(ss.length == 4)
for(int i=0; i<4; i++)
if(ss[i] >= '0' && ss[i] <= '9')
return(true);
return(false);
}
////////////////////成员函数//////////////
public String GetHideNum() { return(o); }
////////////////////成员函数//////////////
public String GuessIt(String s)
{
String r;
int x = 0, y = 0, i, j;
byte s1[] = s.getBytes();
byte s2[] = o.getBytes();
for(i=0;i<4;i++)
if(s1[i] == s2[i])
++x;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(s1[i] == s2[j])
++y;
y = y - x;
r = x + "A" + y + "B";
if(x >= 4) iw=true;
++gt;
return(r);
}
}
///////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -