1. 程式人生 > >小學生出題系統(檔案輸入輸出)

小學生出題系統(檔案輸入輸出)

//信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();}}