Java编写一个能够自动生成小朋友算术练习题目的程序。设计一个程序,要求能够随机生成每个题目。

编写一个能够自动生成小朋友算术练习题目的程序。设计一个程序,要求能够随机生成每个题目,并具有以下基本功能:(1)要求题目以单项选择题及填空题两种形式出现。(2)完成一题后... 编写一个能够自动生成小朋友算术练习题目的程序。设计一个程序,要求能够随机生成每个题目,并具有以下基本功能:
(1)要求题目以单项选择题及填空题两种形式出现。
(2)完成一题后自动判断答案是否正确,分别弹出不同的提示,并自动更新成下一题。
(3)单击“退出”时,汇总本次计算结果,共完成几题,正确率,并给出相应评语。确定后正式退出。
展开
 我来答
SD_Yang_
2019-05-13 · 超过17用户采纳过TA的回答
知道答主
回答量:44
采纳率:50%
帮助的人:6.4万
展开全部
package com.demo;

import java.math.BigDecimal;
import java.util.Random;
import java.util.Scanner;

/*
 * Java编写一个能够自动生成小朋友算术练习题目的程序。设计一个程序,要求能够随机生成每个题目。
 * 编写一个能够自动生成小朋友算术练习题目的程序。设计一个程序,要求能够随机生成每个题目,并具有以下基本功能:
 * (1)要求题目以单项选择题及填空题两种形式出现。
 * (2)完成一题后自动判断答案是否正确,分别弹出不同的提示,并自动更新成下一题。
 * (3)单击“退出”时,汇总本次计算结果,共完成几题,正确率,并给出相应评语。确定后正式退出。
 */
public class publicDemo2 {

public static void main(String[] args) {
Random random = new Random();

StringBuilder stringBuilder = new StringBuilder();
String[] symbol = {"+","-","*","/"};

String question_tip = "选择题(除法保留小数点后两位):";
stringBuilder.append(question_tip).append("\n");
System.out.println(question_tip);
int a;
int b;
String f;
String result_str;
for (int i=1;i<11;i++){
a = random.nextInt(50);
b = random.nextInt(50);
f = symbol[random.nextInt(3)];

String question = i+"、"+a+f+b+"=";
System.out.println(question);
stringBuilder.append(question);

Scanner sc = new Scanner(System.in);
String sc_str = sc.next();
if("/".equals(f)){
double scan_value = Double.parseDouble(sc_str);
double result_value = a / b;
BigDecimal bigDecimal1 = new BigDecimal(scan_value);
scan_value = bigDecimal1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
BigDecimal bigDecimal2 = new BigDecimal(result_value);
result_value = bigDecimal2.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
result_str = (scan_value==result_value)?"回答正确!":"回答错误!";
stringBuilder.append(scan_value).append(";(答案:"+result_value+")"+result_str).append("\n");
}else{
int scan_value = Integer.parseInt(sc_str);
int result_value;
if("+".equals(f)){
result_value = a + b;
}else if("-".equals(f)){
result_value = a - b;
}else if("*".equals(f)){
result_value = a * b;
}else{
break;
}
result_str = (scan_value==result_value)?"回答正确!":"回答错误!";
stringBuilder.append(scan_value).append(";(答案:"+result_value+")"+result_str).append("\n");
}
}
System.out.println(stringBuilder.toString());
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式