用java编一个程序,要求如下,希望哪位大虾帮帮忙,很急!!!

编写小学生练习两位数加法的程序
设计要求:
1)要求有详细的注释
2)题显示出来时,下面的四个答案不得有默认选项,当用户点击错误答案时,会有消息框弹出,按“确定”重做此题
3)当用户点击正确答案时,直接进入下一道题的选择。当用户按下结束按钮时,程序显示用户一共作了多少道题和正确率,点击确定后退出程序。
4)要求题和答案都由程序给出的,不是事先预设的,所以题的数量是无限的,用户可以做任意数量的题。另外,每道题的四个候选答案不能重复。正确答案的位置是随机出现的,不能有任何规律。

package 娱乐;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.SwingConstants;

public class Text extends JFrame implements ActionListener {
JLabel jl;

JPanel jp1, jp2, jp3;

int a, b;

int zhengque=0 ,cuowu=0;

int A, B, C, D, suiji;

JButton xia, jieshu;

JRadioButton jr1, jr2, jr3, jr4;

ButtonGroup zu;

public Text() {
Container c = getContentPane();
a = mm();
b = mm();
jl = new JLabel(a + "+" + b + "=?");
jp1 = new JPanel();
jp1.add(jl, SwingConstants.CENTER);
c.add(jp1, BorderLayout.NORTH);
xiayiti();
jp2 = new JPanel();
jr1 = new JRadioButton(A + "", false);
jp2.add(jr1);
jr2 = new JRadioButton(B + "", false);
jp2.add(jr2);
jr3 = new JRadioButton(C + "", false);
jp2.add(jr3);
jr4 = new JRadioButton(D + "", false);
jp2.add(jr4);
c.add(jp2, BorderLayout.CENTER);
zu = new ButtonGroup();
zu.add(jr1);
zu.add(jr2);
zu.add(jr3);
zu.add(jr4);
jr1.addActionListener(this);
jr2.addActionListener(this);
jr3.addActionListener(this);
jr4.addActionListener(this);

xia = new JButton("下一题");
jieshu = new JButton("结束");
jp3 = new JPanel();
jp3.add(xia);
jp3.add(jieshu);
c.add(jp3, BorderLayout.SOUTH);
xia.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
chuti();
}
});
jieshu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
jl.setText("你答对了:"+zhengque+"道题 "+"答错了:"+cuowu+"道题");
jr1.setEnabled(false);
jr2.setEnabled(false);
jr3.setEnabled(false);
jr4.setEnabled(false);
}
});
setSize(300, 150);
setVisible(true);
}

public void actionPerformed(ActionEvent e) {
int cc = a + b;
if (jr1.isSelected()) {
if (cc == A) {
JOptionPane.showMessageDialog(null, "恭喜你答对了");
zhengque++;
chuti();
}

else{
cuowu++;
JOptionPane.showMessageDialog(null, "错误的选择");
}

}
if (jr2.isSelected()) {
if (cc == B) {
JOptionPane.showMessageDialog(null, "恭喜你答对了");
zhengque++;
chuti();

} else{
cuowu++;
JOptionPane.showMessageDialog(null, "错误的选择");
}
}

if (jr3.isSelected()) {
if (cc == C) {
JOptionPane.showMessageDialog(null, "恭喜你答对了");
zhengque++;
chuti();

} else{
cuowu++;
JOptionPane.showMessageDialog(null, "错误的选择");
}
}

if (jr4.isSelected()) {
if (cc == D) {
JOptionPane.showMessageDialog(null, "恭喜你答对了");
zhengque++;
chuti();

} else{
cuowu++;
JOptionPane.showMessageDialog(null, "错误的选择");
}
}
}
public void chuti() {
a = mm();
b = mm();
jl.setText(a + "+" + b + "=?");
xiayiti();
jr1.setText(A + "");
jr2.setText(B + "");
jr3.setText(C + "");
jr4.setText(D + "");
}
public void xiayiti() {
suiji = 1 + (int) (Math.random() * 4);
if (suiji == 1)
A = a + b;
else
A = xx();
if (suiji == 2)
B = a + b;
else
B = xx();
if (suiji == 3)
C = a + b;
else
C = xx();
if (suiji == 4)
D = a + b;
else
D = xx();
}

public int mm() {
int bv = 10 + (int) (Math.random() * 11);
return bv;
}

public int xx() {
int bb = 20 + (int) (Math.random() * 41);
return bb;
}

public static void main(String[] agrs) {
Text s = new Text();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
//用了我1个多小时!!!!
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-10
你有没有搞错,这种东西你拿出20分?什么叫一个程序?
第2个回答  2008-11-10
我晚上给你代码
第3个回答  2008-11-11
三楼写的可以,建议就选它为最佳答案

用java编一个程序,要求如下,希望哪位大虾帮帮忙,很急!!!
import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPane...

帮忙用java基础语言编写一个程序 要求如下
public class QuestionOne { \/ 打开一个文本文件,每次读取一行内容。将每行作为一个String读入,并将那个String对象置入一个Linkedlist中。按相反的顺序打印出Linkedlist中所有的行。同样也打开一个文本文件,以便将文本写入其中。将Linkedlist中的各行随同行号一起写入文件。 很急 请高手帮帮忙啊。!!!t...

哪位大侠,能帮我写一个JAVA的程序啊,小弟求各位出手相助啊
方法一:直接使用TreeSet会自动按照二叉搜索树排好序 Scanner scan1 = new Scanner(new FileInputStream("file1.txt"));\/\/ 初始时从小到大排序 Scanner scan2 = new Scanner(new FileInputStream("file2.txt"));\/\/ 初始时从小到大排序 TreeSet ts = new TreeSet();\/\/ TreeSet自动排好序 d...

求高手帮忙编JAVA的程序
(3) 设计一个类Number2,(4) 它是Number1的子类,(5) 它有一个方法:求1+2+3+┅+n。package test.car;public class Number2 extends Number1 { int sum=0;\/ 求和。输入的数会求其和如输入5 返回5+4+3+2+1

JAVA高手请帮帮忙,写出程序!谢谢!考试就靠它了!
void main(String[]args){ int cr = 2;Circle c = new Circle(cr);int r = c.getR();System.out.println("圆的半径为:"+r);System.out.println("圆的面积为:"+c.area(r));System.out.println("圆的周长为:"+c.circleLength(r));} } 【编译与运行】编译:javac Circle.java ...

求大神帮忙编一个简单的java程序代码
import java.util.*;public class Test { public static void main(String[] args){ System.out.println("您的性别是:\\n1.男\\n2.女\\n请根据具体情况选择编号:");Scanner sc=new Scanner(System.in);int sex=sc.nextInt();switch(sex){ case 1:System.out.println("您选择的性别是男人")...

请高手帮忙编写一个java程序,不胜感激!
import java.util.Calendar;public class Date { private int year;private int month;private int day;public Date(int year, int month, int date){ this.year = year;this.month = month;this.day = date;} public static void main(String[] args){ boolean isValid = Date.isValidatDate...

真心求高手帮忙编一个JAVA程序
import java.util.Arrays;import java.util.Scanner;public class QuizTest { private static int numAdd;private static String stuName;private static int[] temp;private static Quiz myQuiz = new Quiz(numAdd, stuName); \/\/ 初始化 \/ 添加输入的分数 \/ public static int[] add(int[] a, ...

帮忙编写一个JAVA的程序
import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class TestResult extends JFrame implements ActionListener{ JTextField jfforward,jfcenter,jfbehind;JButton jequals;JComboBox list;JLabel jl;TestResult(){ setDefault...

用java编程序求1! + (1!+2!) + (1!+2!+3!) + … + (1!+2!+3!+4!+5...
public Test{ public static void main(String args[]){ int result = 0;int sum=1;for(int i=1;i<=5;++i){ sum = sum*i;result += sum*(6-i);} System.out.println(result);} }

相似回答