draak

导航

简单四则运算(PSP)

任务要求
  小学生简单四则运算题库

运行软件:
   Eclipse

程序功能:
  能够输出100以内整数的四则运算题目,并且打印相应答案。

代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.function.BiFunction;
public class FourArithmetic {
	private List<Subject> subjectList;
	public List<Subject> getSubjectList() {
		return subjectList;
	}
	public void setSubjectList(List<Subject> subjectList) {
		this.subjectList = subjectList;
	}
	public FourArithmetic() {
		System.out.print("输入题目数量\n");
		Scanner count = new Scanner(System.in);
		int c = count.nextInt();
		List<Subject> list = new ArrayList<Subject>();
		BiFunction<Integer, Integer, Integer> sum = (x, y) -> x + y;
		BiFunction<Integer, Integer, Integer> minus = (x, y) -> x - y;
		BiFunction<Integer, Integer, Integer> multiple = (x, y) -> x * y;
		BiFunction<Integer, Integer, Integer> divide = (x, y) -> x / y;
		for (int i = 0; i < c; i++) { //题目数量
			Subject subject = new Subject();
			Integer a = new Random().nextInt(99);
			Integer b = new Random().nextInt(99);
			Float a1 = new Random().nextFloat();
			Float b1 = new Random().nextFloat();
			subject.setA(a);
			subject.setB(b);
			subject.setA1(a1);
			subject.setB1(b1);
			subject.setIndex(i + 1);
			Integer symbol = new Random().nextInt(4);
			if (symbol == 0) {
				subject.setSymbol("+");
				subject.setAnswer(sum.apply(a, b));
			} else if (symbol == 1) {
				subject.setSymbol("-");
				subject.setAnswer(minus.apply(a, b));
			} else if (symbol == 2) {
				subject.setSymbol("×");
				subject.setAnswer(multiple.apply(a, b));
			} else if (symbol == 3) {
				subject.setSymbol("÷");
				subject.setAnswer(divide.apply(a, b));
			}
			list.add(subject);
		}
		this.subjectList = list;
	}

	public static void main(String[] args) {
		FourArithmetic f = new FourArithmetic();
		System.out.println("整数四则运算(除法保留整数位):");
		f.getSubjectList().forEach(subject -> {
			System.out.println("(" + subject.getIndex() + ") " + subject.getA() + subject.getSymbol()+subject.getB() + "= ?");
		});
		System.out.print("*******答案*******\n");
        f.getSubjectList().forEach(subject -> {
    		System.out.println("第" + subject.getIndex() + "题:" + subject.getAnswer());
    	});
	}
}
class Subject {
	private Integer index;
	private Integer a;
	private Integer b;
	private String symbol;
	private Integer answer;
	private Float a1;
	private Float b1;
	public Integer getIndex() {
		return index;
	}
	public void setIndex(Integer index) {
		this.index = index;
	}
	public Integer getA() {
		return a;
	}
	public void setA(Integer a) {
		this.a = a;
	}
	public Integer getB() {
		return b;
	}
	public void setB(Integer b) {
		this.b = b;
	}
	public void setB1(Float b1) {
		this.b1 = b1;
	}
	public Float getB1() {
		return b1;
	}
	public void setA1(Float a1) {
		this.a1 = a1;
	}
	public Float getA1() {
		return a1;
	}
	public String getSymbol() {
		return symbol;
	}
	public void setSymbol(String symbol) {
		this.symbol = symbol;
	}
	public Integer getAnswer() {
		return answer;
	}
	public void setAnswer(Integer answer) {
		this.answer = answer;
	}
}

  运行结果:

 









psp2.1流程图

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

20

20

Estimate

估计这个任务需要多少时间

100

100

Development

开发

100

90

Analysis

需求分析

10

10

Design Spec

生成设计文档

/

/

Design Review

设计复审 (和同事审核设计文档)

/

/

Coding Standard

代码规范 (为目前的开发制定合适的规范

/

/

Design

具体设计

10

10

Coding

具体编码

150

150

Code Review

代码复审

60

60

Test

测试(自我测试,修改代码,提交修改)

80

80

Reporting

报告

5

5

Test Report

测试报告

5

5

Size Measurement

计算工作量

5

5

Postmortem& Process Improvement Plan

事后总结, 并提出过程改进计划

10

10

合计

 

555

545

 

posted on 2021-09-27 23:41  c-pig  阅读(55)  评论(0编辑  收藏  举报