软件构造(Java)——50道100以内的加减法口算习题(升级版)

题目:

用Java程序生成50道100以内加法/减法算式的习题,并输出。

(1)每个算式还需要答案;
(2)加法算式的和不能超过100;
(3)减法算式的差不能小于0;
(4)把算式输出到文本文件中;

package demo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.*;

public class Exc {

	public static void main(String[] args) throws IOException {
		// TODO 自动生成的方法存根
			
		File f=new File("out.txt");
        f.createNewFile();
        FileOutputStream fileOutputStream = new FileOutputStream(f);
        PrintStream printStream = new PrintStream(fileOutputStream);

		        Random r = new Random();
		        //定义操作数a,b;结果c
		        int a,b,c;
		        //题目的数量
		        int temp = 0;
		        int cnt = 0;
		        for(int i = 0 ;i<10000000;i++) {

		            a = r.nextInt(101);
		            b = r.nextInt(101);
		            c = r.nextInt(2);
		            //去除结果大于100或小于0的表达式
		            if(calculate(a, b, c) > 100 || calculate(a, b, c) < 0)
		                continue;
		            
		            if(cnt%5==0)
		                //System.out.println("");
		            {
		            	//将输出的数据输入到文件中
		            	System.setOut(printStream);
			            System.out.println("");
		            }
		            
		            //sites.add(a+getOp(c)+b+"="+calculate(a, b, c)+"  ");
		            
		            
		            //System.out.print(a+getOp(c)+b+"="+calculate(a, b, c)+"  ");
		            //将输出的数据输入到文件中
		            System.setOut(printStream);
		            System.out.print(a+getOp(c)+b+"="+calculate(a, b, c)+"  ");
		            cnt++;
		            temp++;
		            if(temp == 50)
		                break;

		        }
		        //System.out.print(sites);
		   
		        
		        

		    }

		    

			

		//获取操作运算符
	    public static String getOp(int index) {
	        String string = "";
	        switch(index) {
	            case 0:
	                string = "+";
	                break;
	            case 1:
	                string = "-";
	                break;
	        }

	        return string;
	    }
	    //计算表达式
	    public static int calculate(int a,int b,int index) {
	        int sum = 0;
	        switch(index) {
	            case 0:
	                sum = a + b;
	                break;
	            case 1:
	                sum = a - b;
	                break;
	        }
	        return sum;
	    }

	    
	}


输出
在这里插入图片描述


版权声明:本文为MeiDie_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。