開學第二週Java課堂測驗暨簡易出題代碼

代碼能夠實現的功能包括實現兩位數的四則運算,並同時保證乘法的結果不超過100,除法的結果爲整數,減法的結果爲正。java

除此之外,用戶還能夠設置出題的數量,以及每一行的題目數目。數組

源碼爲:dom

package first;blog

import java.util.Scanner;
import java.util.Random;
public class one {
static Scanner sc = new Scanner(System.in);
  public static void main(String[] args){
  int num1,
  num2,
  num3;
  int b;
  int aaa[][]=new int[100000][3];
  char c=' ';
  int num_end;
  int length;
  boolean jud=false;
  System.out.println("請選擇生產多少道題:");
  num_end=sc.nextInt();
  System.out.println("請輸入每行輸出幾道題:");
  length=sc.nextInt();
  for(int i=0;i<num_end;){
    Random a=new Random();
    num1=a.nextInt(101);
    num2=a.nextInt(101);
    num3=a.nextInt(101);
    b=num3%4;
    switch(b){
    case 0:
      c='+';
      break;
    case 1:
      c='-';
      break;
    case 2:
      c='*';
      break;
    case 3:
      c='/';
      break;
    }
  if(b==3&&num2==0){
    continue;
  }
  if(b==2&&(num1*num2)>100){
    continue;
  }
  if(b==3&&(num1%num2)!=0){
    continue;
  }
  if(b==1&&((num1-num2)<0)) {
    continue;
  }
  else{
    jud=true;
  }
  for(int u=0;u<i;u++){
    int a1=0,a2=0,a3=0;
    a1=aaa[i][0];
    a2=aaa[i][1];
    a3=aaa[i][2];
    if(a1==num1&&a2==num2&&a3==b){
      jud=false;
    }
  }
  if(jud){
    int end=i+1;
    System.out.print("這是第" + end + "道題: " +num1 + c + num2 + "= ");
    i++;
  }
  if(i<100000){
  aaa[i][0]=num1;
  aaa[i][1]=num2;
  aaa[i][2]=b;
  }
  if(i%length==0)
  System.out.println();
    }
  }
}源碼

運行截圖爲:it

思路:首先設置一個二維數組,第一行用來存儲第一個隨機數,第二行用來存儲第二個隨機數,第三行用來存儲運算符,因爲是一一對應關係class

,因此每一列爲一個符合規則的四則運算,以後根據讀取用戶要輸出的題目數目,循環該次數,輸出該次數的題目便可。import

相關文章
相關標籤/搜索