日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小学生四则运算出题程序 无操作界面java版 简单的运用java中一些基本操作

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小学生四则运算出题程序 无操作界面java版 简单的运用java中一些基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是本學期java課中實驗大綱里的第一個實驗,這里簡單做了一個無用戶界面版本。

import java.util.Random; import java.util.Scanner;public class MathTest {public static void main(String[] args) {// TODO Auto-generated method stubdouble right = 0;double wrong = 0;/*Scanner sc2 = new Scanner(System.in);int num2 = sc2.nextInt();*/for (int i = 0; i < 10; i++) {System.out.println("第"+(i+1)+"道題,請在下方輸入答案:");//生成兩個隨機數Random r1 = new Random();int x = r1.nextInt(10)+1;Random r2 = new Random();int y = r2.nextInt(10)+1;//生成隨機運算符 + - * /Random r3 = new Random();int z = r3.nextInt(4);char[] chs = {'+','-','*','/'};String Operator = String.valueOf(chs[z]);//生成題目if(Operator.equals("+")){System.out.println(x+"+"+y+"=");boolean b = add(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}System.out.println("the right answer: "+(x+y));}else if(Operator.equals("-")){System.out.println(x+"-"+y+"=");boolean b =minus(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}System.out.println("the right answer: "+(x-y));}else if(Operator.equals("*")){System.out.println(x+"×"+y+"=");boolean b =times(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");}System.out.println("the right answer: "+(x*y));}else{System.out.println(x+"÷"+y+"=");boolean b =divide(x,y);if(b == true){right++;System.out.println("bingo! ");}else{wrong++;System.out.println("oh~no ");} System.out.println("the right answer: "+((float)x /(float) y));}System.out.println("-------------------------------");}System.out.println("您一共做對了"+right+"道題.");System.out.println("您一共做錯了"+wrong+"道題.");if(wrong > 0){System.out.println("正確率為"+(right/(wrong+right))*100+"%");}else{System.out.println("沒法除了啊 。。。。");}}private static boolean add(int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int num1 = sc.nextInt();int result = x + y;if(num1 == result){return true;}else{return false;}}private static boolean minus(int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int num1 = sc.nextInt();int result = x - y;if(num1 == result){return true;}else{return false;}}private static boolean times (int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int num1 = sc.nextInt();int result = x * y;if(num1 == result){return true;}else{return false;}}private static boolean divide(int x,int y) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);float num1 = sc.nextFloat();float result =(float)x /(float) y;if(num1 == result){return true;}else{return false;}}}

能看到判斷對錯的方法運用了直接運算符計算結果與函數定義后的運算結果相比較,相等得分,不相等則不得分。

編程中出現的問題:在計算結果為小數的除法時,一開始會出現結果怎么算都不對的情況,他的正確答案也是一個向偶舍入的數值,那肯定是不可取的

解決方法:原因是x和y默認int型,在float除法中要將兩者都強制類型轉換。【這樣他的精度為小數點后7位】

附上最后的一部分結果展示。

?

轉載于:https://www.cnblogs.com/zyn95186/p/5675058.html

總結

以上是生活随笔為你收集整理的小学生四则运算出题程序 无操作界面java版 简单的运用java中一些基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。