小学生四则运算

package TEST1;
import java.io.*;
import java.util.*;
public class size {
public static void main(String[] args)throws IOException
{
FileOutputStream fs = new FileOutputStream(new File("TEST.txt"));
PrintStream p = new PrintStream(fs);
FileInputStream fip = new FileInputStream("TEST.txt");
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
StringBuffer sb = new StringBuffer();
Scanner in=new Scanner(System.in);
int math1=0;
int math2=0;
int sum;
int count=0;
double[] x=new double[30];
int i;
for(i=0;i<30;i++)
{
int intVal1 = (int)(Math.random() * 20 + 1);
math1=intVal1;
int intVal2=(int)(Math.random() * 20+1);
math2=intVal2;
int o=(int)(Math.random()*30+0);
if(o%4==0)
{
sum=math1+math2;
p.print(math1);
p.print("+");
p.print(math2);
p.print("=&");
p.print(sum);
p.append("\r\n");
x[i]=sum;
}
if(o%4==1)
{
sum=math1-math2;
p.print(math1);
p.print("-");
p.print(math2);
p.print("=&");
p.print(sum);
p.append("\r\n");
x[i]=sum;
}
if(o%4==2)
{
sum=math1*math2;
p.print(math1);
p.print("*");
p.print(math2);
p.print("=&");
p.print(sum);
p.append("\r\n");
x[i]=sum;
}
if(o%4==3)
{
sum=math1/math2;
p.print(math1);
p.print("/");
p.print(math2);
p.print("=&");
p.print(sum);
p.append("\r\n");
x[i]=sum;
}
}
p.close();
int ch;
double sum1;
for(i=0;i<30;i++)
{
while ((ch = reader.read()) != '&')
{
System.out.print((char)ch);
}
sum1=in.nextDouble();
if(sum1==x[i])
{
System.out.println("回答正确!");
count++;
}
else
{
System.out.println("回答错误!");
}
}
System.out.println("您做对了"+count+"道题,做错了"+(30-count)+"道题!");
reader.close();
}
}

除法计算有问题,例如3/2=1;将30道小学生四则运算输出到文件中,并读取文件中的题目,输出得数,判断正确与否。

之前在上课的时候,花了一个多小时查找txt乱码问题,最后发现是代码的问题,之后切换代码,修复乱码问题。

posted @ 2018-11-15 21:49  Double晨  阅读(190)  评论(0编辑  收藏  举报