基于Java編寫簡易的算式測試程序
1.程序功能
這個程序可以自動生成指定數(shù)量的加減乘 ”三則運算“ 題目,用戶可以進行回答,在答題完畢后,會顯示答對題數(shù)、準確率和所用時間。這不寫一個測測親戚家小孩

2.實現(xiàn)思路
首先,我們新建一個名為 Calculate 的 class 文件,然后就可以敲我們的代碼啦。接著,我們先寫一個 main 函數(shù),然后第一步是創(chuàng)建一個 Scanner 對象,用來接受用戶輸入的題目數(shù)量。下一步我們定義幾個變量來保存程序的信息,即 result 保存算式答案,right 保存答對題數(shù),accuracy 保存準確率。接著,開始計時,然后創(chuàng)建一個 Random 對象用來生成隨機數(shù),在 for 循環(huán)里面,我們通過設(shè)置 r.nextInt() 括號里的數(shù)字來控制隨機數(shù)的范圍。然后,我們通過第 3 個隨機數(shù)的 3 種情況來決定進行哪種算式運算。下一步,判斷答案和用戶的輸入是否一致,輸出提示信息。然后結(jié)束計時,輸出成績。
3.具體代碼
import java.util.*;
public class Calculate {
public static void main(String[] args) {
//接受用戶輸入
Scanner sc = new Scanner(System.in);
System.out.println("請輸入題目的數(shù)量:");
int n = sc.nextInt();
//result保存算式答案,right保存答對題數(shù),accuracy保存準確率
int result = 0, right = 0;
double accuracy;
//開始計時
long startTime = System.currentTimeMillis();
//打印加減乘三種算式
Random r = new Random();
for (int i = 0; i < n; i++) {
int i1 = r.nextInt(50);
int i2 = r.nextInt(50);
int i3 = r.nextInt(3);
//判斷進行哪種運算
if (i3 == 0) {
System.out.println(i1 + "-" + i2 + "=");
result = i1 - i2;
} else if (i3 == 1) {
System.out.println(i1 + "+" + i2 + "=");
result = i1 + i2;
} else {
System.out.println(i1 + "*" + i2 + "=");
result = i1 * i2;
}
//輸出正確與否信息,同時判斷是否增加答對題數(shù)
int a = sc.nextInt();
if (a == result) {
System.out.println("答對了!");
right += 1;
} else {
System.out.println("答錯了,繼續(xù)加油!");
}
}
//計算準確率
accuracy = (right * 1.0 / n) * 100;
//結(jié)束計時
long endTime = System.currentTimeMillis();
//輸出成績
System.out.print("恭喜你,一共答對了" + right + "題" + "," + "正確率:" + accuracy + "%" + "," + "用時:" + (endTime - startTime) / 1000 + "秒");
//關(guān)閉資源的使用,可不加
sc.close();
}
}
4.程序執(zhí)行結(jié)果

到此這篇關(guān)于基于Java編寫簡易的算式測試程序的文章就介紹到這了,更多相關(guān)Java算式測試程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項目的配置文件中設(shè)置server.port不生效問題
這篇文章主要介紹了SpringBoot項目的配置文件中設(shè)置server.port不生效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
SpringBoot?整合MyBatis+MyBatis-Plus+MyBatisX插件使用
本文主要介紹了SpringBoot?整合MyBatis+MyBatis-Plus+MyBatisX插件使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04
java servlet結(jié)合mysql搭建java web開發(fā)環(huán)境
之前寫過一篇 servlet+oracle的文章,但是那是因為公司有可能接那么一個項目,然后我當時也比較閑,所以隨便學(xué)了下,那玩意是白去研究了,因為公司后面并沒接到那項目。2015-12-12
Springboot整合實現(xiàn)郵件發(fā)送的原理詳解
SpringBoot集成郵件服務(wù)非常簡單,通過簡單的學(xué)習(xí)即可快速掌握郵件業(yè)務(wù)類的核心邏輯和企業(yè)郵件的日常服務(wù),本文給大家分享Springboot整合實現(xiàn)郵件發(fā)送的原理,一起看看吧2021-06-06

