package 四则运算;
import java.io.*;
import java.util.Random;
import java.util.Scanner;
public class szys {
public static void main (String[] args)throws IOException,ClassNotFoundException{
File f = new File("D:\\","Test.txt");
f.createNewFile();
FileOutputStream fis = new FileOutputStream(f);
OutputStreamWriter scan1 = new OutputStreamWriter(fis);
Scanner sc=new Scanner(System.in);
int[]answer=new int[100];
for(int i=0;i<100;i++) {
Random r = new Random();
int a = r.nextInt(100);
int b =r.nextInt(100);
int s=r.nextInt(4)+1;
String a2="";
FileOutputStream scan11;
switch(s){
case 1:a2=""+a+"+"+b+"=?";answer[i] =a+b;break;
case 2:a2=""+a+"-"+b+"=?";answer[i] =a-b;break;
case 3:a2=""+a+"*"+b+"=?";answer[i]=a*b;break;
case 4:if(b==0) {
a2=""+a+"+"+b+"=?";answer[i] =a+b;break;
}else if(a%b==0) {
a2=""+a+"/"+b+"=?";answer[i]=a/b;break;
}else {
}a2=""+a+"-"+b+"=?";answer[i] =a-b;break;
}
scan1.write(a2);
scan1.write("请输入答案\r\n");
}
scan1.close();
File file = new File("D:\\Test.txt");
int i=0;
int score = 0;
if(file.exists()){
try {
FileReader fileReader = new FileReader(file);
BufferedReader br = new BufferedReader(fileReader);
String lineContent = null;
while((lineContent = br.readLine())!=null){
System.out.println(lineContent);
Scanner scan = new Scanner(System.in);
int a1=scan.nextInt();
if(a1==answer[i]) {
System.out.println("回答正确!");
score++;
}
else
{System.out.println("回答错误! 答案是"+answer[i]);}
i++;
}
br.close();
fileReader.close();
} catch (FileNotFoundException e1) {
System.out.println("no this file");//文件不存在抛异常
e1.printStackTrace();
} catch (IOException e1) {
System.out.println("io exception");
e1.printStackTrace();
}
} System.out.println("分数为:"+score);
}
}
总结:
首先做这个的时候一开始只能生成100个随机题目,对于将题目写入文本里和读取文本内容不知怎么做,经过查阅一些资料和同学在讲台上展示的源代码,勉强符合老师的要求。对于这方面要加紧这方面的学习了。