定义一个类,其中封装成员变量v—猜数的目标, num—猜测的数据
guess方法根据num和v比对结果生成对应的提示信息
import java.util.Scanner;
public class Guess {
//测试调用
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
A a=new A();
while (true) {
System.out.print("请输入猜测的数据:");
int num=sc.nextInt();
a.setNum(num);
String res=a.guess();
System.out.println(res);
if (res.startsWith("恭喜"))
break;
}
}
}
class A{
private int v=100;//猜数的目标
private int num;//本次猜测的数据
public void setNum(int num) {
this.num = num;
}
public String guess() {
if (num>v)
return "猜的太大了!";
else if(num<v)
return "猜的太小了!";
else
return "恭喜猜对了!";
}
}
2、猜数字游戏:一个类A有两个成员变量v、hist猜数历史集合,v有一个初值100。定义一个方法guess,对A类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。在main方法中测试。要求记录猜数历史,并最终统计次数,>20提示笨蛋,<5提示天才,其余为普通
public class B {
private int v=100;
private int[] hist=new int[20];
private int count=0;
public void guess() {
Scanner sc=new Scanner(System.in);
while (true) {
System.out.print("请输入第"+(count+1)+"次猜数过程:");
int num=sc.nextInt();
add(num);
String res=bijiao(num);
System.out.println(res);
if (res.startsWith("恭喜")) {
break;
}
System.out.println("========猜数过程========");
for (int i = 0; i < count; i++) {
System.out.print(hist[i]+"\t");
if ((i+1)%6==0)
System.out.println();
}
System.out.println();
}
if (count>20)
System.out.println("你和猪没什么区别!");
else if(count<5)
System.out.println("天才啊");
else
System.out.println("你就是一般人");
}
private String bijiao(int num) {
if (num > v)
return "猜的太大了!";
else if (num < v)
return "猜的太小了!";
else
return "恭喜猜对了!";
}
private void add(int num) {
if (count>=hist.length) {
int[] res=new int[hist.length*2];
System.arraycopy(hist, 0, res, 0, hist.length);
hist=res;
}
hist[count++]=num;
}
public static void main(String[] args) {
B b=new B();
b.guess();
}
}