A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15044393192 中级黑马   /  2016-4-7 19:58  /  700 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.itcast.csz.ui;

import javax.swing.JOptionPane;

import cn.itcast.csz.service.CSZService;

public class CSZServiceFrame extends CSZFrame {
        private CSZService service = new CSZService();
        private int count;//猜数字次数
       
        public CSZServiceFrame() {
                init();
        }
       
        private void init() {
                clearTextField();//清空输入框
                count = 0;//初始化次数
                service.init();//初始化核心类
        }
       
        /*
         * 每次猜字数后都要显示结果
         */
        private void showResults(String input) {
                service.createResult(input, count);//生成新结果添加到结果数组中
                String[] results = service.getResults();//获取结果数组
               
                /*
                 * 把结果添加html中
                 */
                StringBuilder sb = new StringBuilder();
                sb.append("<html><body>");
                for(int i = 0; i < results.length; i++) {
                        sb.append(results[i]).append("<br/>");
                }
                sb.append("</body></html>");
               
                /*
                 * 把html显示在label中
                 */
                this.label.setText(sb.toString());       
        }
       
        @Override
        public void run(String input) {
                showResults(input);//显示结果
                /*
                 * 比较输入是否正确
                 */
                if(service.equalsRandom(input)) {
                        JOptionPane.showMessageDialog(this, "聪明伶俐一百分!");
                        init();//初始化
                        return;
                }
               
                /*
                 * 如果输入数次等于7次,为最后一次
                 */
                if(count == 7) {
                        JOptionPane.showMessageDialog(this, "脑筋断路游戏结束!正确答案是:" + service.getRand());
                        init();
                        return;
                }
               
                count++;//猜数字次数加1
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马