在程序设计的过程中,JavaBean不是独立的。为了能够更好地封装事务逻辑、数据库操作而便于实现业务逻辑和前台程序的分离,操作的过程往往是先开发需要的JavaBean,再在适当的时候进行调用。但一个完整有效的JavaBean必然会包含一个属性,伴随若干个get/set(只读/只写)函数的变量来设计和运行的。JavaBean作为一个特殊的类,具有自己独有的特性。应该注意以下3个方面。
JavaBean类必须有一个没有参数的构造函数。
JavaBean类所有的属性最好定义为私有的。
JavaBean类中定义函数setXxx() 和getXxx()来对属性进行操作。其中Xxx是首字母大写的私有变量名称。
新建一个名称为GuessGame的类,放在ch05包中。文件名:GuessGame.java
package ch05;
import java.util.*;
public class GuessGame {
//私有成员,定义所需要的属性
int answer;
int guess;
boolean success;
String info;
int counter;
//构造函数,主要用于产生随机数
public GuessGame() {
reset();
}
//成员函数,设置和调用成员属性,完成游戏功能
public void setGuess(String guess) {
counter++;
//抛出异常
try {
this.guess = Integer.parseInt(guess);
}
catch (NumberFormatException e) {
this.guess = -1;
}
//判断所输入的数字与实际价格是否相同,或输入数字是否符合要求
if (this.guess == answer) {
success = true;
}
else if (this.guess == -1) {
info = "出错,再猜一次!";
}
else if (this.guess < answer) {
info = "您猜的价格小了!";
}
else if (this.guess > answer) {
info = "您猜的价格大了!";
}
//输入数字
if(this.guess >1000){
info="请输入1到1000之间的数字!!";
}
}
//返回值
public boolean getSuccess() {
return success;
}
//获得信息
public String getInfo() {
return info;
}
//获得计数器值
public int getCounter() {
return counter;
}
//获得答案
public int getAnswer(){
return answer;
}
//产生随机数,控制在1到1000之间
public void reset() {
answer = Math.abs(new Random().nextInt() % 1000) + 1;
success = false;
counter = 0;
}
}