前言
首先感谢老师没有在假期留作业,让我回了一波家。。。假期已经结束了,开始好好学习,这次的作业我们选择了四则运算作为题目,作为一个纯后端,UI我也无能为力。。所以只实现了函数的功能。
题目要求
- 能够自动生成四则运算练习题
- 可以定制题目数量
- 用户可以选择运算符
- 用户设置最大数(如十以内、百以内等)
- 用户选择是否有括号、是否有小数
- 用户选择输出方式(如输出到文件、打印机等)
- 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
代码地址
领航员博客地址
合照
函数主体
生成函数
public static String generate(char c,String flag,int max){
if(flag=="float"){
Random random = new Random();
StringBuilder str = new StringBuilder();
str.append(random.nextInt()%100/100.00+Math.abs(random.nextInt()%max));
str.append(c);
str.append(random.nextInt()%100/100.00+Math.abs(random.nextInt()%max));
return str.toString();
}
else if(flag=="int"){
Random random = new Random();
StringBuffer str = new StringBuffer();
str.append(Math.abs(random.nextInt()%max));
str.append(c);
str.append(Math.abs(random.nextInt()%max));
return str.toString();
}
else return "error";
}
生成文件函数
/*
*创建文件
*/
public static void createFile(String filePath) {
File file = new File(filePath);
if (file.exists()) {
//System.out.println("文件已存在");
} else {
try {
File fileParent = file.getParentFile();
if (fileParent != null) {
if (!fileParent.exists()) {
fileParent.mkdirs();
}
}
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
写文件函数
/*
*以追加方式写文件
*/
private static void writeFile(String filePath, String conent) {
BufferedWriter out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath, true)));
out.write(conent+"=");
out.newLine();
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试结果
总结
驾驶员-领航员模式。理论上这可构成最成熟的模式。
它的名字源于两个人可能作汽车旅行穿越未知区域的场景,驾驶员的注意力集中在机械方面,包括操控油门和刹车,调转车轮还有提防障碍与其他车辆。与此同时,领航员则考虑更宏观的问题。还要开多久才能下高速?手机是否能及时收到任何突发交通堵塞的提示?
把这对关系的比喻应用于编程,那么驾驶员就负责写代码,浏览文件,还有基础实现方法。领航员则着眼更长远的考虑并且检查错误。通过这种模式,能够高效率的复审代码,可以两个人一起讨论代码,相比以往的自己编码的模式,有很大的提升。
跟我合作的领航员充分的体现了一个合格的领航员所应具备的素质,对我的代码严格审查,提出了优秀的建议,使我认识到了自己的不足,严谨的思维,优秀的品质,这或许就是新时代青年的素质吧。