扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
import java.awt.BorderLayout;
成都创新互联公司主要从事做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务海城,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* @author Gerrad
*
* 色盲测试
*/
public class ColorBlindnessTest extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel infoPanel = new JPanel();
private JPanel bgPanel = new JPanel();
private JPanel resultPanel = new JPanel();
private JButton btnRed = new JButton("红色");
private JButton btnGreen = new JButton("绿色");
private JButton btnTryAgain = new JButton("再试一次");
private JLabel lblInfo = new JLabel("请根据下面的颜色来点击相应的按钮!");
private JLabel lblResult = new JLabel();
private int score = 0;
private int flag = 0;
public ColorBlindnessTest() {
this.setTitle("色盲测试:两次都选对才不是色盲");
this.setLayout(new BorderLayout());
infoPanel.add(lblInfo);
btnRed.addActionListener(this);
btnGreen.addActionListener(this);
infoPanel.add(btnRed);
infoPanel.add(btnGreen);
infoPanel.add(lblResult);
this.add(infoPanel, BorderLayout.NORTH);
bgPanel.setBackground(Color.RED);
this.add(bgPanel, BorderLayout.CENTER);
resultPanel.add(lblResult);
btnTryAgain.addActionListener(this);
// resultPanel.add(btnTryAgain);
this.add(resultPanel, BorderLayout.SOUTH);
this.setSize(400, 400);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new ColorBlindnessTest();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnRed)) {
flag++;
if (bgPanel.getBackground().equals(Color.red)) {
score += 50;
bgPanel.setBackground(Color.green);
} else {
bgPanel.setBackground(Color.green);
}
} else if (e.getSource().equals(btnGreen)) {
flag++;
if (bgPanel.getBackground().equals(Color.green)) {
score += 50;
bgPanel.setBackground(Color.green);
} else {
bgPanel.setBackground(Color.green);
}
}
if (flag == 2){
if (score == 100) {
lblResult.setText("恭喜您!不是色盲!");
resultPanel.add(btnTryAgain);
} else {
lblResult.setText("很遗憾~您没有通过测试!您是色盲!");
resultPanel.add(btnTryAgain);
}
}
if (e.getSource().equals(btnTryAgain)) {
this.setVisible(false);
new ColorBlindnessTest();
}
}
}
运行结果:
可以用main函数和JUnit来写测试代码。main是最早使用的,但是现在更流行的测试工具是JUnit。
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
下面是一些具体的编写测试代码的技巧或较好的实践方法:
1. 不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。
2. 不要依赖或假定测试运行的顺序,因为JUnit利用Vector保存测试方法。所以不同的平台会按不同的顺序从Vector中取出测试方法。
3. 避免编写有副作用的TestCase。例如:如果随后的测试依赖于某些特定的交易数据,就不要提交交易数据。简单的回滚就可以了。
4. 当继承一个测试类时,记得调用父类的setUp()和tearDown()方法。
5. 将测试代码和工作代码放在一起,一边同步编译和更新。(使用Ant中有支持junit的task.)
6. 测试类和测试方法应该有一致的命名方案。如在工作类名前加上test从而形成测试类名。
7. 确保测试与时间无关,不要依赖使用过期的数据进行测试。导致在随后的维护过程中很难重现测试。
8. 如果你编写的软件面向国际市场,编写测试时要考虑国际化的因素。不要仅用母语的Locale进行测试。
9. 尽可能地利用JUnit提供地assert/fail方法以及异常处理的方法,可以使代码更为简洁。
10.测试要尽可能地小,执行速度快。
11.不要硬性规定数据文件的路径。
12.利用Junit 的自动异常处理书写简洁的测试代码
事实上在Junit 中使用try-catch 来捕获异常是没有必要的,Junit 会自动捕获异常。那些没有被捕获的异常就被当成错误处理。
13. 充分利用Junit 的assert/fail 方法
assertSame()用来测试两个引用是否指向同一个对象
assertEquals()用来测试两个对象是否相等
14. 确保测试代码与时间无关
15. 使用文档生成器做测试文档。
最简单的java代码肯定就是这个了,如下:
public class MyFirstApp
{
public static void main(String[] args)
{
System.out.print("Hello world");
}
}
“hello world”就是应该是所有学java的新手看的第一个代码了。如果是零基础的新手朋友们可以来我们的java实验班试听,有免费的试听课程帮助学习java必备基础知识,有助教老师为零基础的人提供个人学习方案,学习完成后有考评团进行专业测试,帮助测评学员是否适合继续学习java,15天内免费帮助来报名体验实验班的新手快速入门java,更好的学习java!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流