zoukankan      html  css  js  c++  java
  • 几天没写新程序像过了好几年一样

    猜数游戏,也用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 }
    折叠代码
  • 相关阅读:
    mysql之旅【第一篇】
    初探psutil
    Android的ListView分页功能
    Android中用PULL解析XML
    HTTPClient模块的HttpGet和HttpPost
    PB11.5创建及调用WebService
    Android平台使用SQLite数据库存储数据
    高通mm-camera平台 Camera bring up基本调试思路
    在Linux中使用crontab
    Linux 修改 hostname
  • 原文地址:https://www.cnblogs.com/chihane/p/3427454.html
Copyright © 2011-2022 走看看