小学算术运算测试程序要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数.用gui用户界面.在百度看到你的问答,特犀利,java编程的哦
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 01:24:24
![小学算术运算测试程序要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数.用gui用户界面.在百度看到你的问答,特犀利,java编程的哦](/uploads/image/z/5168227-67-7.jpg?t=%E5%B0%8F%E5%AD%A6%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E6%B5%8B%E8%AF%95%E7%A8%8B%E5%BA%8F%E8%A6%81%E6%B1%82%EF%BC%9A%E5%88%B6%E4%BD%9C%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BE%9B%E5%B0%8F%E5%AD%A6%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97%E7%A8%8B%E5%BA%8F%EF%BC%9A10%E4%BB%A5%E5%86%85%E5%8A%A0%E5%87%8F%E6%B3%95%2C%E8%83%BD%E6%A0%B9%E6%8D%AE%E8%BE%93%E5%85%A5%E9%A2%98%E6%95%B0%E5%87%BA%E9%A2%98%2C%E5%88%A4%E6%96%AD%E5%81%9A%E9%A2%98%E6%98%AF%E5%90%A6%E6%AD%A3%E7%A1%AE%2C%E6%9C%80%E5%90%8E%E8%AE%A1%E7%AE%97%E5%88%86%E6%95%B0.%E7%94%A8gui%E7%94%A8%E6%88%B7%E7%95%8C%E9%9D%A2.%E5%9C%A8%E7%99%BE%E5%BA%A6%E7%9C%8B%E5%88%B0%E4%BD%A0%E7%9A%84%E9%97%AE%E7%AD%94%2C%E7%89%B9%E7%8A%80%E5%88%A9%2Cjava%E7%BC%96%E7%A8%8B%E7%9A%84%E5%93%A6)
小学算术运算测试程序要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数.用gui用户界面.在百度看到你的问答,特犀利,java编程的哦
小学算术运算测试程序
要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数.用gui用户界面.
在百度看到你的问答,特犀利,
java编程的哦
小学算术运算测试程序要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数.用gui用户界面.在百度看到你的问答,特犀利,java编程的哦
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*10以内计算题,根据输入生成题目个数
*
*/
public class T2013_6_21IN10 extends JFrame implements ActionListener{
JisuanPanel[] panels;
int n;
public T2013_6_21IN10(){
super("10以内计算题");
String inputValue = JOptionPane.showInputDialog("输入题目个数:");
try{
n=Integer.parseInt(inputValue);
}catch(Exception e){n=20;}
panels=new JisuanPanel[n];
for(int i=0;i<panels.length;i++)
panels[i]=new JisuanPanel();
Container c=getContentPane();
c.setLayout(new BorderLayout());
JPanel panel=new JPanel(new GridLayout(n/2+1,2));
for(int i=0;i<panels.length;i++)
panel.add(panels[i]);
c.add(new JScrollPane(panel),BorderLayout.CENTER);
panel=new JPanel(new FlowLayout());
JButton button=new JButton("评卷");
button.setActionCommand("JUDGE");
button.addActionListener(this);
panel.add(button);
button=new JButton("重新出题");
button.setActionCommand("RESET");
button.addActionListener(this);
panel.add(button);
c.add(panel,BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("RESET")){
for(int i=0;i<panels.length;i++)
panels[i].init();
}
if(e.getActionCommand().equals("JUDGE")){
int n=0;
for(int i=0;i<panels.length;i++){
if(panels[i].right())
n++;
}
JOptionPane.showMessageDialog(null,"一共"+this.n+"题,共做对"+n+"道!\n得分:"+(int)((((double)n)/this.n)*100));
}
return;
}
public static void main (String[] args) {
JFrame frame=new T2013_6_21IN10();
frame.setBounds(50,50,400,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class JisuanPanel extends JPanel{
JLabel label;
JTextField field;
int result;
public JisuanPanel(){
super();
label=new JLabel();
field=new JTextField(4);
add(label);
add(field);
init();
}
public void init(){
int a,b;
String fu;
a=(int)(Math.random()*10)+1;
b=(int)(Math.random()*10)+1;
switch((int)(Math.random()*2)){
case 0:fu="+";label.setText(""+a+fu+b+"=");result=a+b;break;
case 1:fu="-";label.setText(""+a+fu+b+"=");result=a-b;break;
//case 2:fu="*";label.setText(""+a+fu+b+"=");result=a*b;break;
//case 3:fu="/";label.setText(""+a+fu+b+"=");result=a/b;break;
default:JOptionPane.showMessageDialog(null,"出错!");System.exit(0);
}
if(result<0||result>10)
init();
field.setText("");
return;
}
public boolean right(){
if(field.getText().equals(""))return false;
int num=result+1;
try{
num=Integer.parseInt(field.getText());
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"输入错误!");
field.setText("");
}
if(num==result){
if(!(label.getText()).startsWith("√"))
label.setText("√"+label.getText());
return true;
}
else return false;
}
}