源代码:
package 文件读写;//16:13
import java.io.*;
import java.util.Random;
import java.util.Scanner;
public class yunsuan
{ static Scanner sc=new Scanner(System.in);
static int[] c=new int[100];
static int m=0;
static int index1=0;
static int index2=0;
public static void main(String[] args)throws IOException {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("D:/ps/Test.txt"));
for(int n=0;n<100;n++)
{
int i=(int)(1+Math.random()*100);
int j=(int)(1+Math.random()*100);
int k=(int)(1+Math.random()*100);
Random r=new Random();
int a=r.nextInt(4);
int b=r.nextInt(4);
if(a==0)
{
if(b==0)
{out.write(i+"+"+j+"+"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i+j+k;
}
if(b==1)
{out.write(i+"+"+j+"-"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i+j-k;
}
if(b==2)
{out.write(i+"+"+j+"*"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i+j*k;
}
if(b==3)
{out.write(i+"+"+j+"/"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i+j/k;
}
}
if(a==1)
{
if(b==0)
{out.write(i+"-"+j+"+"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i-j+k;
}
if(b==1)
{
out.write(i+"-"+j+"-"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i-j-k;
}
if(b==2) {
out.write(i+"-"+j+"*"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i-j*k;
}
if(b==3)
{
out.write(i+"-"+j+"/"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i-j/k;
}
}
if(a==2)
{ if(b==0)
{out.write(i+"*"+j+"+"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i*j+k;
}
if(b==1)
{
out.write(i+"*"+j+"-"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i*j-k;
}
if(b==2) {
out.write(i+"*"+j+"*"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i*j*k;
}
if(b==3)
{
out.write(i+"*"+j+"/"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i*j/k;
}
}
if(a==3)
{
if(b==0)
{out.write(i+"/"+j+"+"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i/j+k;
}
if(b==1)
{
out.write(i+"/"+j+"-"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i/j-k;
}
if(b==2)
{
out.write(i+"/"+j+"*"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i/j*k;
}
if(b==3)
{
out.write(i+"/"+j+"/"+k+"=");
out.newLine();
out.write("*");
out.newLine();
c[n]=i/j/k;
}
}
}
out.close();
System.out.println("文件创建成功");
FileReader fr=new FileReader("D:/ps/Test.txt");
BufferedReader br=new BufferedReader(fr);
String line=br.readLine();
while(line!=null)
{
if(line.length()!=1)
{
System.out.println(line);
int x=sc.nextInt();
System.out.println(c[m]);
if(x==c[m])
{System.out.println("答案正确!");
index1++;}
else
{System.out.println("答案错误!");
index2++;
}
System.out.println("答对:"+index1+"道");
System.out.println("答错:"+index2+"道");
m++;
}
line= br.readLine();
}
br.close();
}
catch (IOException e) {
}
}
}
从两点开始到4点13,将近两个小时一刻,其实仅仅是一个简单的四则计算程序而已,也没有什么深入的知识点,其实如果能静下心来,整理思路,将近一个小时应该就可以搞定,但是现实就是我做了整整两个多小时。总结原因如下:
没有一个完整的思路,做一点是一点,在想后面的时候,又要更改前面的代码,导致整个思路非常的混乱。
其次对于文件中读取的操作不熟练,再遇到特殊字符暂停的步骤中,卡顿时间过于长,其次也是最大的一个问题
就是最开始的时候直接在网上找了一个模板,在修改多次之后未果之后,再开始自己从头开始编。这中间也浪费了很多时间。