小學生出題系統(檔案輸入輸出)
//信1705-2 20173629 何偉豪 package 小學計算題檔案; import java.util.Random; //隨機生成數字的標頭檔案 import java.util.Scanner; //輸入整型資料的標頭檔案 import java.io.*; import java.io.BufferedReader; import java.io.FileReader; public class JiSuanWenJian { public static void main(String args[]) throws IOException{ FileOutputStream fos= new FileOutputStream("heweihao.txt"); Scanner scanner = new Scanner(new BufferedReader(new FileReader("heweihao.txt"))); PrintStream ps = null; scanner.useDelimiter("[|]"); ps = new PrintStream(fos); Scanner cin=new Scanner(System.in); Random random= new Random(); int q = 0; double sum[] = null; sum = new double[30]; for(int i=0;i<30;i++) //輸出30個數的迴圈 開始1 { int a=random.nextInt(101); //隨機生成100以內的一個數 int b=random.nextInt(101); //再隨機生成100以內的一個數 ps.print(a);int tatted; //儲存代表運算子的數 tatted=random.nextInt(3); //隨機生成代表運算子的數 if(tatted==0) { //將代表運算子的數轉化為運算子 開始2 ps.print("+"); sum[q]=a+b; }else if(tatted==1) { ps.print("-"); sum[q]=a-b; }else if(tatted==2) { ps.print("*"); sum[q]=a*b; }else if(tatted==3) { ps.print("/"); sum[q]=a/b; } //數轉化為運算子 結束2 ps.print(b);//輸出b ps.print("="); //輸出等於號 q++; if(i<29) { ps.println("|"); } } //輸出30個數的迴圈 結束1 q=0; double sum1; int fenshu=0; while (scanner.hasNext()) { //讀取檔案中的指定內容 System.out.println(scanner.next()); System.out.println("請輸入答案"); sum1=cin.nextDouble(); if(sum1==sum[q]) { System.out.println("答案正確"); fenshu++; }else { System.out.println("答案錯誤"); } q++; } System.out.println("總分數為:" + fenshu); cin.close(); ps.close(); scanner.close(); } }
//信1705-2 20173629 何偉豪package 小學計算題檔案;
import java.util.Random; //隨機生成數字的標頭檔案import java.util.Scanner; //輸入整型資料的標頭檔案import java.io.*;import java.io.BufferedReader;import java.io.FileReader;
public class JiSuanWenJian {public static void main(String args[]) throws IOException{FileOutputStream fos = new FileOutputStream("heweihao.txt");Scanner scanner = new Scanner(new BufferedReader(new FileReader("heweihao.txt")));PrintStream ps = null;scanner.useDelimiter("[|]");ps = new PrintStream(fos);Scanner cin=new Scanner(System.in);Random random = new Random();int q = 0;double sum[] = null;sum = new double[30];for(int i=0;i<30;i++) //輸出30個數的迴圈 開始1{int a=random.nextInt(101); //隨機生成100以內的一個數int b=random.nextInt(101); //再隨機生成100以內的一個數ps.print(a); int tatted; //儲存代表運算子的數tatted=random.nextInt(3); //隨機生成代表運算子的數if(tatted==0) { //將代表運算子的數轉化為運算子 開始2ps.print("+");sum[q]=a+b;}else if(tatted==1) {ps.print("-");sum[q]=a-b;}else if(tatted==2) {ps.print("*");sum[q]=a*b;}else if(tatted==3) {ps.print("/");sum[q]=a/b;} //數轉化為運算子 結束2ps.print(b);//輸出bps.print("="); //輸出等於號q++;if(i<29) {ps.println("|");}} //輸出30個數的迴圈 結束1q=0;double sum1;int fenshu=0;while (scanner.hasNext()) { //讀取檔案中的指定內容System.out.println(scanner.next());System.out.println("請輸入答案");sum1=cin.nextDouble();if(sum1==sum[q]) {System.out.println("答案正確");fenshu++;}else {System.out.println("答案錯誤");}q++;}System.out.println("總分數為:" + fenshu);cin.close();ps.close();scanner.close();}}