小学数学练习题Java

编程入门 行业动态 更新时间:2024-10-18 23:24:51

小学数学<a href=https://www.elefans.com/category/jswz/34/1768594.html style=练习题Java"/>

小学数学练习题Java

小学数学练习

2.1【问题描述】 

编写一个帮助小学生练习数学的程序,帮助小学生练习100以内的四种数学运算:加、减、乘、除。 

2.2【基本要求】  

a)程序应先询问用户的ID号(ID号的前两个字符是大写字母,后四个字符是4位数字),例如: 

请输入用户ID号:AB1234 

程序应对输入的ID号验证,符合ID号要求的格式,然后程序提示三种操作选择: 

(1)开始测试

(2)检查分数

(3)退出 

b)测试:该程序将给出 10 道数学题,例如: 

12 * 3 = 36 

48 + 32 = 80 

„ 

56 / 28 = 2 

注意: 

i)学生将依次回答每一个问题(在等于号后面给出答案),然后给出下一道题。 

ii)试题应包含四种数学运算:加、减、乘、除,它们是随机产生的。相邻的问题应该是不同的操作, 每个操作必须至少出现一次。报告中应给出实现方法或算法。 

iii)为每道题随机生成数字,但必须确保参与运算的数字和结果都小于100且大于零的整数,除法时还要注意两个整数要能整除。报告中应给出实现方法或算法。 

iv)十道题做完后,记录学生完成这十道题所用的时间。 

v)给每个学生一个分数。将该学生的 ID、成绩和使用时间保存到一个为 record.txt 的文件中。

vi)在屏幕上输出以下信息:(3列信息,第1列是b)中的测试题,蓝色部分) 

问题 | 正确答案 | 你的答案 

c)成绩检查:从文件“record.txt”中列出该学生的所有历史成绩(其他学生的不显示)。例如:

你以前的记录是: 

AB1234 80 150 秒

AB1234 50 182 秒 

AB1234 90 98秒

问题描述:

需要做成一个交互页面,判断录入同学的信息是否正确,能够随机出现小学数学题目,并且要能记录时间、保存答题记录。还要能够判断出输入答案的正确性

问题分析:

判断录入同学信息可以根据ascii码的区间来辨别,之后运用随机生成数字来创造十个小学算术,同时用记录文档的函数将每次答题的信息记录下来。

功能实现:
package com.report;import java.io.File;
import java.io.FileWriter;
import java.util.Arrays;
import java.util.Scanner;
import java.lang.System;public class Test {static String[] sb = new String[10];public static void main(String[] args) {String[][] test0 = new String[3][4];String[] test = new String[4];int q = 0;System.out.println("欢迎来到太理测试乐园!!!");System.out.println("先输入独属于宝子你的专属ID账号吧!");while (true) {System.out.println("(ID账号是由2位大写字母和4位数字组成的哦!!!)");Scanner sc0 = new Scanner(System.in);String sc = sc0.next();char[] id = sc.toCharArray();if (!inspection(id)) {System.out.println("输入错误,重新输入:");} else {test[0] = String.valueOf(id);test0[q][0] = test[0];break;}} try {// 此处我放在了这个位置,可以更换File file = new File("D:\\record.txt");if (!file.isFile())                                         // 如果没有该文件,就新建一个file.createNewFile();FileWriter fileWriter = new FileWriter(file, true);        // 通过 true 设置追加fileWriter.write("你以前的记录是: \n");fileWriter.flush();                                        // 清空缓存区,压入文件fileWriter.close();boolean flag = true;while (flag) {System.out.println("1.测试计算");System.out.println("2.本次测试数据");System.out.println("3.退出");System.out.println("既然辣馍喜欢测试,辣就请做出你的选择吧");Scanner ch0 = new Scanner(System.in);int ch = ch0.nextInt();int j = 0;if (ch == 1) {System.out.println("马上就要开始测试了,准备好了吗?");System.out.println("一道题10分,一共十道题,满分100分!");System.out.println("测试游戏正式开始!!!");long startTime = System.currentTimeMillis();String grade;int k = 0;while (j < 9) {double x = Math.random();double min = 0, max = 100;double y = x * (max - min) + min;double m = Math.random();double min1 = 0, max1 = 100;double n = m * (max1 - min1) + min1;long a = (long) y, b = (long) n;max = 4;y = x * (max - min) + min;long si = (long) y;int an = 0;char si0 = '+';if (si == 0) {j++;an = Integer.parseInt(String.valueOf(a)) + Integer.parseInt(String.valueOf(b));} else if (si == 1) {si0 = '-';j++;an = Integer.parseInt(String.valueOf(a)) - Integer.parseInt(String.valueOf(b));} else if (si == 2) {si0 = '*';j++;an = Integer.parseInt(String.valueOf(a)) * Integer.parseInt(String.valueOf(b));} else if (si == 3 && Integer.parseInt(String.valueOf(a)) != 0) {si0 = '/';j++;an = Integer.parseInt(String.valueOf(a)) / Integer.parseInt(String.valueOf(a));} else if (si == 3 && Integer.parseInt(String.valueOf(a)) == 0) {throw new ArithmeticException();}System.out.print("第" + j + "个式子:\t" + a + si0 + b + " =");Scanner p = new Scanner(System.in);int an0 = p.nextInt();//System.out.println(an);sb[j - 1] = (a + " " + si0 + " " + b + "= " + an + "\t" + an0);if (an0 == an) {k++;}}long endTime = System.currentTimeMillis();test[2] = String.valueOf((endTime - startTime) / 1000);test[1] = String.valueOf(k * 10);switch (k) {case 10:grade = "优秀     请继续保持!";case 9:grade = "良好      查漏补缺";case 8:grade = "良好      查漏补缺";case 7:grade = "及格      再接再厉呀!";case 6:grade = "及格      再接再厉呀!";default:grade = "差       要认真反思呀!";}test[3] = grade;test0[q][1] = test[1];test0[q][2] = test[2];test0[q][3] = test[3];System.out.println(" 问题 | 正确答案 | 你的答案");for (int i = 0; i < 9; i++) {System.out.println(sb[i]);}q++;test0[q][0] = test[0];} else if (ch == 2) {System.out.println("你以前的记录是: ");System.out.println(test[0] + " " + test[1] + " " + test[2] + "秒");}   else if (ch == 3) {System.out.println("正在退出……");flag = false;file.delete();                    // 删除文件break;} else {System.out.println("输入错误,请在1~4中做出选择");}}}catch(Exception e) {e.printStackTrace();}}private static boolean inspection(char[] id) {if(id.length!=6){System.out.println("提示: 用户名ID是六位大写字母和数字组成的哦!");return false;}for(int a=0;a<id.length;a++) {if (a < 2) {//判断是否为大写字母if (!Character.isUpperCase(id[a]))  {     // 前两位不是大写字母System.out.println("提示: 用户名ID的前两位应该是大写字母哦! ");return false;}} else if(a>=2&&a<6) {//判断是否为数字if (!Character.isDigit(id[a])) {         // 后四位不是数字System.out.println("提示: 用户名ID的后四位应该是数字哦! ");return false;}}}return true;}}

运行结果:

 

更多推荐

小学数学练习题Java

本文发布于:2024-02-06 09:56:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748158.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:练习题   小学数学   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!