几天没写新程序像过了好几年一样

猜数游戏,也用Python做过的。

这么简单的东西,就不写文档了吧……

 

几个问题:

1. 弹窗用JOptionPane类(包?)里面的show×××××方法,名字很好懂,打了show看输入提示就知道自己需要哪个,这个程序里用了两个,之后用用别的。

 

2. 弹窗有两种用法,拿showInputDialog()举例,括号里接收几个参数,

  第一个参数叫parent component,似乎是决定框架样式的,用null做值的话会提供一个默认框架。

  第二个参数是窗口显示的内容,像是“你确定要退出吗?”这类句子呆着的地方。

  第三个是窗口标题,和第二个一样,都是接受字符串。

  第四个决定窗口面板上显示的图标,如果不用的话输入JOptionPane.PLAIN_MESSAGE,其他的比如感叹号用warning message,问号用question message,用到的时候再看也可以,不过要记得输入前面的JOptionPane和点,不然报看不懂的错,另外变量名要大写加下划线。

 

3. 上边说的是第一种用法,如果不需要那么麻烦的话两个参数就够,第一个和第二个,它会提供默认标题,但是如果你自己指定了标题,那就必须要给定第四个参数message type,不给报错。

 

4. 关于检测输入内容,因为Java的变量必须要声明,所以连你自己都不知道变量类型的时候你就蛋疼了,对我就蛋疼过,搞不好之后还要疼几次。

  这个程序里用的方法是百度来的,先把输入内容存成兼容性最强的String,然后见第23行,用ismatch方法加上正则表达式来检测。

  不过简单的时候可以这样,什么时候我要检查一下输入的是不是byte或者float什么的我就傻逼了。

  对了正则表达式里的反斜杠记得转义,因为这里需要的只是字符串形式的表达式,不是要直接用。

 

5. 排版真难看,什么时候学学别人的。

 

 1 package NumberGuessing;
 2 
 3 import java.util.Random;
 4 import javax.swing.JOptionPane;
 5 
 6 public class Run {
 7     public static void main(String[] args) {
 8         
 9         //生成100以下随机数。
10         Random generator = new Random();
11         int number = generator.nextInt(100);
12         
13         int count = 0;
14         int guess = 0;
15         String message = "嗟,来猜(0-100):";
16         
17         while (count < 6) {
18             
19             //接收玩家猜测内容。
20             String temp = JOptionPane.showInputDialog(null, message ,"猜!第" + (count+1) + "次!", JOptionPane.WARNING_MESSAGE);
21             
22             //判断输入类型,如果是空值或者非数字就continue掉。
23             if (temp.length() == 0 || !temp.matches("\\d*")) {
24                 JOptionPane.showMessageDialog(null, "输!数!字!");
25                 continue;
26             }
27             
28             //输入的内容是String,用Integer类里的方法解析成int格式。
29             guess = Integer.parseInt(temp);
30             
31             //if语句判断输入正误。
32             if (guess == number) {
33             JOptionPane.showMessageDialog(null, "居然猜中了,怎么可能,啊啊啊啊啊卡卡罗特你算计我!!!", "hehe",JOptionPane.WARNING_MESSAGE);
34                 break;
35             } else if (guess > number) {
36                 message = "大了!再猜!";
37             } else {
38                 message = "小了!再猜!";
39             }
40             
41             count++;
42             
43             //猜测次数用光,弹窗嘲讽。
44             if (count == 6) {
45                 JOptionPane.showMessageDialog(null, "嘿嘿你猜不着", "有没有觉得智商受到了挑战", JOptionPane.PLAIN_MESSAGE);
46                 break;
47             }
48         }
49     }
50 }
折叠代码

 

posted @ 2013-11-17 02:31  Chihane  阅读(240)  评论(0编辑  收藏  举报