用java语言做一个简单的小学生算数测试器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java语言做一个简单的小学生算数测试器相关的知识,希望对你有一定的参考价值。

要求1-100以内的加减乘除测试。。。用IDE编辑的模式。。。
是初学者!!!!不要复杂的。。。最最简单即可。。。
不是啊。。。是类似考卷形式的测试。。不是计算器~~~~

package com.wqx.print;

import java.util.Random;
import java.util.Scanner;

public class Exam
private static int result=0;
Scanner scanner=new Scanner(System.in);
Random ran=new Random();
public boolean create()

boolean re=false;
int num1=createnum();
int num2=createnum();
int str=ran.nextInt(4);
if(str==0)

System.out.print(num1+" + "+num2+" = ");
result=num1+num2;

else if(str==1)

while(num2>num1)

num2=createnum();

System.out.print(num1+" - "+num2+" = ");
result=num1-num2;

else if(str==2)

while(num1==0||num2==0)

if(num1==0)

num1=createnum();

if(num2==0)

num2=createnum();


System.out.print(num1+" x "+num2+" = ");
result=num1*num2;

else if(str==3)

while(num1%num2!=0)

num1=createnum();
num2=createnum();
while(num2==0)

num2=createnum();



System.out.print(num1+" ÷ "+num2+" = ");
result=num1/num2;

try
int answer=scanner.nextInt();
if(answer==result)

re=true;

catch (Exception e)
System.out.println("请正确输入答案!");

if(re==false)

System.out.println("正确答案"+result);

return re;


public int createnum()

int num=ran.nextInt(101);
if(num<0||num>100)

num=ran.nextInt(101);

return ran.nextInt(100);


public int createstr()

int str=ran.nextInt(4);
if(str<0||str>4)

str=createstr();

return str;


public static void main(String[] args)
int count=0;
int right=0;
Scanner scanner=new Scanner(System.in);
while(true)

System.out.print("按任意键继续 退出按 'Q' ");
if(scanner.next().toUpperCase().equals("Q"))

System.out.println("总题数:"+count+"\t"+"正确数:"+right);
break;

boolean temp=new Exam().create();
count++;
if(temp==true)

right++;
System.out.println("正确");
else

System.out.println("错误");



参考技术A import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class T2011_3_15 extends JFrame implements ActionListener
JisuanPanel[] panels;
public T2011_3_15()
super("100以内计算题");
panels=new JisuanPanel[20];
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(10,2));
for(int i=0;i<panels.length;i++)
panel.add(panels[i]);
c.add(panel,BorderLayout.CENTER);

panel=new JPanel(new FlowLayout());
JButton button=new JButton("RESET");
button.addActionListener(this);
panel.add(button);
button=new JButton("JUDGE");
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,"共做对"+n+"道!");

return;

public static void main (String[] args)
JFrame frame=new T2011_3_15IN100();
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()*100)+1;
b=(int)(Math.random()*100)+1;
switch((int)(Math.random()*4))
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>100||a%b!=0)
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;

参考技术B 或许可以帮你解决,专门做编程题,带讲解,联系方式到我空间查看…

java考试心得

       开学第一次上课,老师就让我们自己用java搞一个简单的ATM机程序,一听题目头就晕了,不是说好的学生成绩管理系统?准备的东西都没用了...开学之前不是说做学生成绩管理系统吗?...因为以前学c语言的时候就没好好学,自己编程基础挺差的,虽然在暑假看过一段时间的java视频,但也没认真看,没走心,以至于很是迷茫,到底该怎么做,做什么,从哪开始。完全一头雾水,不知道怎么搞。在暑假就安装了JDK,配置了个运行环境,最后也只好去百度上找代码去借鉴,东拼西凑的,尽全力去思考怎么做,好在完成了一部分功能,代码很大一部分不是自己的,也没有什么成就感,在小学期就发过“什么时候能写出自己的代码!”的感慨,这次java编程过程就是这样...坐在电脑前绞尽脑汁想写出一些东西,但是肚子里没东西,书到用时方恨少...大抵就是这种感觉。

      过后自己反思了一下编程过程,好像从接到题目的那一刻起,脑子里想的就是:这可怎么做啊,我不会啊...诸如此类的想法,从来没有尝试着认真去分析一下,每个功能应该具体怎么实现,到底需要哪些参数这样,正如老师所说的:把问题看成了“一坨”而不是一个个分离的小块,可能这就是编程思想吧,其实最主要的原因还是基础知识不熟悉,就连一个输出代码都要考虑怎么写出来,这种一点都不熟悉导致了自己总是注重于到底应该怎么写出来而不是去分析问题,使复杂问题简单化。这次java编程是为数不多的坐在教室里一个下午真正的去想一个程序是应该怎么实现的,收获很多,实话说,这一个下午比我这一个暑假加起来学的东西都多,虽然也借鉴了网上的代码,但不管怎么说也有一点自己的元素在里面,好在这次测验让去网上借鉴。不然就真的凉凉了。

       总之这次用java编辑ATM系统收获很多,让我明白了一些思想上的东西,思考问题的方法是很重要的,不能只照着网上的代码去抄,而应该滤清自己的思路,知道该干什么,在这之前更重要的是Java的基本语法,如输入语句输出语句,如果基本语法都不熟练,编程思想什么的都是浮云。正如这次考试老师所说分数并不重要,重要的是通过考试发现自己的不足,去学习改正此次考试暴露的缺点。

以上是关于用java语言做一个简单的小学生算数测试器的主要内容,如果未能解决你的问题,请参考以下文章

设计小学生四则运算测试程序,要求随机产生10题四则运算题,答完后给出得分。用C语言做,有人会吗??很急

学生信息管理系统最简单源代码。

python和java哪个比较适合做自动化测试,和测试开发一般用哪种语言。

用python做学生信息管理系统分工是什么

用java图书销售管理系统的课程设计怎么做?

求用C语言编写一个简单的学生信息管理程序和课程设计报告