出题系统(java版)
Posted 发酸的丶米饭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了出题系统(java版)相关的知识,希望对你有一定的参考价值。
(1)思路:三个方法,生成一定数量的整数题,生成一定数量的分数题,功能目录。其中,利用一个数组,数组长度为题目数量+1,每次随机生成一道题与数组比较,用来避免题目重复。
(2)代码:
import java.util.Scanner; public class test { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int state = 0; while(state == 0) { mulu(); int num = scanner.nextInt(); if(num ==1) { System.out.println("输入题目数量"); suan(scanner.nextInt()); } if(num ==2) { System.out.println("输入题目数量"); zsuan(scanner.nextInt()); } if(num ==3) { state = 1; System.out.println("已退出!!"); } } } public static void mulu() { System.out.println("************************"); System.out.println("1.整数运算"); System.out.println("2.真分数运算"); System.out.println("3.退出"); System.out.println("************************"); System.out.println("请选择"); } public static void suan(int num) { String[] str = new String[num+1]; str[0]=""; for(int i=1;i<=num;i++) { String ss=""; int state = 0; int intVal3 = (int)(Math.random()*4+1); int intVal1 = 0; int intVal2 = 0; while(state == 0) { intVal1 = (int)(Math.random()*100+1); intVal2 = (int)(Math.random()*100+1); ss = intVal1+""+intVal2; for(int j=0;j<i;j++) { if(ss.equals(str[i-1])) state=0; else { state=1; str [i]=intVal1+""+intVal2; } } } System.out.print(i+" 、 "); if(intVal3==1){ System.out.print(intVal1); System.out.print(" + "); System.out.print(intVal2); System.out.print("= ?"); System.out.println(); } if(intVal3==2){ System.out.print(intVal1); System.out.print(" - "); System.out.print(intVal2); System.out.print("= ?"); System.out.println(); } if(intVal3==3){ System.out.print(intVal1); System.out.print(" * "); System.out.print(intVal2); System.out.print("= ?"); System.out.println(); } if(intVal3==4){ System.out.print(intVal1); System.out.print(" ÷ "); System.out.print(intVal2); System.out.print("= ?"); System.out.println(); } } } public static void zsuan(int num) { String[] st = new String[num+1]; st[0]=""; for(int i=1;i<=num;i++) { int num1 = 0; int num2 = 0; int num3 = 0; int num4 = 0; String ss=""; String ss1=""; String ss2=""; int state = 0; int intVal3 = (int)(Math.random()*4+1); while(state == 0) { while(num1==num2) { num1 = (int)(Math.random()*100+1);num2 = (int)(Math.random()*100+1); if(num1<num2) { ss1=num1+"/"+num2; } else { ss1=num2+"/"+num1; } } while(num3==num4) { num3 = (int)(Math.random()*100+1);num4 = (int)(Math.random()*100+1); if(num3<num4) { ss2=num3+"/"+num4; } else { ss2=num4+"/"+num3; } } ss =ss1+ss2; for(int j=0;j<i;j++) { if(ss.equals(st[i-1])) state=0; else { state=1; st [i]=ss1+ss2; } } } System.out.print(i+" 、 "); if(intVal3==1){ System.out.print(ss1); System.out.print(" + "); System.out.print(ss2); System.out.print("= ?"); System.out.println(); } if(intVal3==2){ System.out.print(ss1); System.out.print(" - "); System.out.print(ss2); System.out.print("= ?"); System.out.println(); } if(intVal3==3){ System.out.print(ss1); System.out.print(" * "); System.out.print(ss2); System.out.print("= ?"); System.out.println(); } if(intVal3==4){ System.out.print(ss1); System.out.print(" ÷ "); System.out.print(ss2); System.out.print("= ?"); System.out.println(); } } } }
(3)结果:
以上是关于出题系统(java版)的主要内容,如果未能解决你的问题,请参考以下文章