JAVA图形界面三星题之Hangman
来源:互联网 发布:python识别验证码 编辑:程序博客网 时间:2024/05/18 01:43
代码如下:
package com.ytu.lc;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Random;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;public class Hangman extends JFrame implements ActionListener {private JLabel label = null;private JTextField text = null;private char answer = 'a';private Random random = null;private String[] words = { "write", "that", "program", "problem","yourself" };private String str = null;private int count = 0;private int number = 0;private ArrayList a = new ArrayList();private String letter = null;public Hangman() {setTitle("猜单词");random = new Random();label = new JLabel("提示消息:");text = new JTextField();JButton btn = new JButton("开始");btn.setActionCommand("start");btn.addActionListener(this);add(btn, BorderLayout.WEST);btn = new JButton("确定");btn.addActionListener(this);add(btn, BorderLayout.EAST);btn = new JButton("结束");btn.setActionCommand("end");btn.addActionListener(this);add(btn, BorderLayout.SOUTH);add(label, BorderLayout.NORTH);add(text, BorderLayout.CENTER);setSize(400, 300);setLocationRelativeTo(null);setDefaultCloseOperation(EXIT_ON_CLOSE);setVisible(true);}public static void main(String[] args) {new Hangman();}@Overridepublic void actionPerformed(ActionEvent e) {if ("start".equals(e.getActionCommand())) {str = words[random.nextInt(5)];System.out.println(str);count = 0;number = str.length();for (int i = 0; i < number; i++)// 给数组增加10个Int元素a.add(i);for (int i = 0; i < number; i++) {a.set(i, '*');label.setText("(Guess) Enter a letter in word ");for (int i1 = 0; i1 < str.length(); i1++) {label.setText(label.getText() + a.get(i1));}label.setText(label.getText() + " > ");}} else if ("end".equals(e.getActionCommand())) {label.setText("Game over!");} else {String letter = text.getText().toLowerCase();text.setText("");int m = 0;for (int i = 0; i < str.length(); i++) {if (a.get(i).equals(letter.charAt(0))) {m = 1;} else if (str.charAt(i) == letter.charAt(0)) {a.set(i, letter.charAt(0));number--;m = 1;}}if (m == 0) {label.setText("提示消息:" + letter + " is no in the word");count++;} else if (m == 2) {label.setText("提示消息:" + letter + " is already in the word");} else if (m == 1) {if (number != 0) {label.setText("(Guess) Enter a letter in word ");for (int i1 = 0; i1 < str.length(); i1++) {label.setText(label.getText() + a.get(i1));}label.setText(label.getText() + " > ");} else {label.setText("The word is " + str + ". You missed "+ count + " time. ");}}}}}
运行结果:
0 0
- JAVA图形界面三星题之Hangman
- JAVA三星题之hangman
- Java三星题之显示日期
- JAVA三星题之Eight Queens
- JAVA三星题之Galton Box
- JAVA三星题之Financial tsunami
- JAVA三星题之connect four
- java基础之 图形界面
- JAVA图形界面之JTable
- Java基础之图形界面GUI
- java之 ------ 图形界面(二)
- java之 ------ 图形界面(三)
- java图形界面之文字飘动
- Java三星题之剪刀石头布(三局两胜)
- JAVA三星题之playing a TicTacToe game
- Hangman!!!
- Java学习之图形界面编程AWT
- Java学习之图形界面编程Swing
- 淘宝网技术架构介绍
- Debug Assertion Failed!
- 从大数据菜鸟走上大师的历程 Scala 第十二讲 trait
- LeetCode(7) -- Reverse Integer
- Leetcode.Move Zeroes
- JAVA图形界面三星题之Hangman
- fragment与activity之间的通信
- STB之业务架构图
- kmp理解
- 第二章 一切都是对象
- spark 自定义排序详解
- [ruby]Rails中使用bootstrap
- Android基础之Activity系列 - Activity间的数据传递
- 入职(一)