课外天地 李树青学习天地Java程序语言课件 → 程序代码——采用面向对象方式设计的猜数字小游戏


  共有19561人关注过本帖树形打印复制链接

主题:程序代码——采用面向对象方式设计的猜数字小游戏

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
程序代码——采用面向对象方式设计的猜数字小游戏  发帖心情 Post By:2007/4/20 21:55:17 [只看该作者]

功能:

系统产生随机数
进入循环
系统输入整数
系统判断大小是否正确
系统输出结果

分析:

系统  CSystem  输入 判断 输出
随机数  CRandom  设置初始值 产生
整数  Integer  
结果(字符串) String  

CRandom类文件:

public class CRandom
{
private int initialNumber=0;
private int rand=0;

public CRandom(int init)
{
  setInitialNumber(init);
  generateRandom();
  //System.out.println(rand);
}

public void setInitialNumber(int num)
{
  if(num<0)
   initialNumber=0;
  else
   initialNumber=num;
}

public void generateRandom()
{
  rand=(int)(Math.random()*initialNumber)+1;
}

public int getRandom()
{  
  return rand;
}
}

CSystem类文件:

public class CSystem
{
String displayString="";

public void setDisplayString(String str)
{
  displayString=str;
}

public int inputInteger()
{
  int i=0;
  try
  {
   System.out.println(displayString);
   byte[] b=new byte[10];
   System.in.read(b);    
   String str=new String(b);
   str=str.substring(0,str.indexOf((char)(13)));
   i=Integer.parseInt(str);
        
  }
  catch(Exception ex)
  {
   System.out.println(ex.getMessage());
  }
  return i;
}

public void outputString(String str)
{
  System.out.println(str);  
}

public String compare(int num1,int num2)
{
  if(num1>num2)
   return ">";
  else if(num1<num2)
   return "<";
  else
   return "==";
}
}

Main类文件:

public class Main
{      
    public static void main(String args[])
    {
     CRandom r=new CRandom(100);    
     int rnd=r.getRandom();
    
     CSystem s=new CSystem();
     s.setDisplayString("Please input the number:");
    
     while(true)
     {
      int i=s.inputInteger();
      String result=s.compare(i,rnd);      
      s.outputString(result);
      if(result=="==")
       System.exit(0);    
     }
    }
}

[此贴子已经被作者于2010-12-12 08:14:22编辑过]

 回到顶部
美女呀,离线,留言给我吧!
shinhwa
  2楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:23 积分:455 威望:0 精华:0 注册:2006/10/20 11:12:09
  发帖心情 Post By:2007/4/22 21:09:52 [只看该作者]

str=str.substring(0,str.indexOf((char)(13)));中的13是什么意思???

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
回复  发帖心情 Post By:2007/4/23 19:51:46 [只看该作者]

13为回车字符的Unicode编码

 回到顶部
美女呀,离线,留言给我吧!
shinhwa
  4楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:23 积分:455 威望:0 精华:0 注册:2006/10/20 11:12:09
  发帖心情 Post By:2007/4/23 20:01:33 [只看该作者]

Thanks!


 回到顶部