2022年6月30日——Java案例(6)

网友投稿 650 2022-11-06

2022年6月30日——Java案例(6)

效果图展示:

执行的入口:

逻辑区域:

在这一块,主要就是判断和循环之间的使用。

package day_06;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Main { public static Map js(int total, int max, int min, int type){ Map listMap = new HashMap(); List adds = new ArrayList<>();//存放题目 List da = new ArrayList<>();//存放答案 String icon = ""; int addNum = 0;//加法的数量 if (type == 1){ icon = "+"; }else if (type == 2){ icon = "-"; }else if (type == 3){ addNum = (int)(Math.random()*(max - min)+min);//加法的数量 }if (type == 4){ addNum = total/2; } for (int i = 1; i <= total; i++) { int left = (int)(Math.random()*(max - min)+min); int right = (int)(Math.random()*(max - min)+min); if ( type == 1 || type == 2) { adds.add(left + icon + right + "="); if (icon.equals("+")){ da.add(left+right); }else { if (left - right < 0){ i--; continue; } da.add(left-right); } }else { if (i < addNum){ adds.add(left + "+" + right + "="); da.add(left+right); }else { if (left - right < 0){ i--; continue; } adds.add(left + "-" + right + "="); da.add(left-right); } } } listMap.put("title", adds); listMap.put("da", da); System.out.println("出题成功。。。"); return listMap; }}

数据展示:

在这里是,涉及到有递归的使用。

package day_06;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Scanner;public class Show { public static Map initData = new HashMap<>(); private static Scanner sc = new Scanner(System.in); public static void showData(Map datas){ List title = datas.get("title");//题目 List da = datas.get("da");//答案 for (int i = 0; i < title.size(); i++) { System.out.println((i+1)+"、"+title.get(i)+da.get(i)); } showMain(datas); } public static void showTitle(Map datas){ List title = datas.get("title");//题目 for (int i = 0; i < title.size(); i++) { System.out.println((i+1)+"、"+title.get(i)); } showMain(datas); } public static void showDa(Map datas){ List da = datas.get("da");//答案 for (int i = 0; i < da.size(); i++) { System.out.println((i+1)+"、"+da.get(i)); } showMain(datas); } public static void showMain(Map js){ System.out.println("——————————————————————————————————————————————————————————————————————————"); System.out.println("\t\t\t出题完成,您当前可以查询如下所示的功能:"); System.out.println("——————————————————————————————————————————————————————————————————————————"); System.out.println("1、查看试卷"); System.out.println("2、查看试卷和答案"); System.out.println("3、查看答案"); System.out.println("4、重新出题(根据上一次输入的数据重新生成题目)"); System.out.println("5、重新出题(重新输入数据)"); int choise = sc.nextInt(); if (choise == 1){ showTitle(js); }else if (choise == 2){ Show.showData(js); }else if (choise == 3){ Show.showDa(js); }else if (choise == 4){ String total1 = Show.initData.get("total"); String min1 = Show.initData.get("min"); Show.initData.get("max"); js = null; js = Main.js( Integer.parseInt(Show.initData.get("total")), Integer.parseInt(Show.initData.get("max")), Integer.parseInt(Show.initData.get("min")), Integer.parseInt(Show.initData.get("select"))); showMain(js); }else if (choise == 5){ Demo01.init(); } }}

程序中含有部分的bug,如果您感兴趣,可以一起探讨解决bug的,期待与您的交流。。。

如有不足,请您指正,谢谢,一起交流,提升。。。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:manim 中文教程
下一篇:RxJava 示例工程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~