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

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

到此這篇關(guān)于基于Java編寫簡(jiǎn)易的算式測(cè)試程序的文章就介紹到這了,更多相關(guān)Java算式測(cè)試程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(45)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07
帶你一文深入認(rèn)識(shí)Java?String類
這篇文章主要介紹了帶你一文深入認(rèn)識(shí)Java?String類,String 類在Java中是很常用的類,很重要的類,在后續(xù)的學(xué)習(xí)中經(jīng)常會(huì)用到,是后續(xù)學(xué)習(xí)的基礎(chǔ), 文章圍繞主題展開更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-06-06
SpringBoot項(xiàng)目的配置文件中設(shè)置server.port不生效問題
這篇文章主要介紹了SpringBoot項(xiàng)目的配置文件中設(shè)置server.port不生效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
SpringBoot?整合MyBatis+MyBatis-Plus+MyBatisX插件使用
本文主要介紹了SpringBoot?整合MyBatis+MyBatis-Plus+MyBatisX插件使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04
@SpringBootTest 注解報(bào)紅問題及解決
這篇文章主要介紹了@SpringBootTest 注解報(bào)紅問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring中@Async用法詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Spring中@Async用法詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02
java servlet結(jié)合mysql搭建java web開發(fā)環(huán)境
之前寫過一篇 servlet+oracle的文章,但是那是因?yàn)楣居锌赡芙幽敲匆粋€(gè)項(xiàng)目,然后我當(dāng)時(shí)也比較閑,所以隨便學(xué)了下,那玩意是白去研究了,因?yàn)楣竞竺娌]接到那項(xiàng)目。2015-12-12
Springboot整合實(shí)現(xiàn)郵件發(fā)送的原理詳解
SpringBoot集成郵件服務(wù)非常簡(jiǎn)單,通過簡(jiǎn)單的學(xué)習(xí)即可快速掌握郵件業(yè)務(wù)類的核心邏輯和企業(yè)郵件的日常服務(wù),本文給大家分享Springboot整合實(shí)現(xiàn)郵件發(fā)送的原理,一起看看吧2021-06-06

