批处理: 加法

 

批处理: 加法

加法等算术操作可以通过A参数来说明
比如在set aa = 10的前提下执行
set /A aa=%aa%+1
那么aa的值就成了11

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java代码实现: ```java import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Random; import java.util.Scanner; public class MathHomework { private static final int NUM_OF_QUESTIONS = 50; // 生成加法题目 private static String generateAdditionQuestions() { StringBuilder sb = new StringBuilder(); Random random = new Random(); for (int i = 0; i < NUM_OF_QUESTIONS; i++) { int a = random.nextInt(100); int b = random.nextInt(100 - a); sb.append(a + " + " + b + " = ,"); } return sb.toString(); } // 生成减法题目 private static String generateSubtractionQuestions() { StringBuilder sb = new StringBuilder(); Random random = new Random(); for (int i = 0; i < NUM_OF_QUESTIONS; i++) { int a = random.nextInt(100); int b = random.nextInt(a); sb.append(a + " - " + b + " = ,"); } return sb.toString(); } // 生成加减混合题目 private static String generateMixedQuestions() { StringBuilder sb = new StringBuilder(); Random random = new Random(); for (int i = 0; i < NUM_OF_QUESTIONS; i++) { if (random.nextBoolean()) { // 生成加法 int a = random.nextInt(100); int b = random.nextInt(100 - a); sb.append(a + " + " + b + " = ,"); } else { // 生成减法 int a = random.nextInt(100); int b = random.nextInt(a); sb.append(a + " - " + b + " = ,"); } } return sb.toString(); } // 生成有结果的csv文件 private static void generateResultCsvFile(String questions, String fileName) { try (BufferedWriter bw = new BufferedWriter(new FileWriter(fileName))) { String[] questionArray = questions.split(","); int count = 0; for (String question : questionArray) { bw.write(question); bw.write(count % 5 == 4 ? "\n" : ","); count++; } bw.flush(); } catch (IOException e) { e.printStackTrace(); } } // 生成无结果的csv文件 private static void generateNoResultCsvFile(String questions, String fileName) { try (BufferedWriter bw = new BufferedWriter(new FileWriter(fileName))) { String[] questionArray = questions.split(","); for (String question : questionArray) { bw.write(question.substring(0, question.lastIndexOf("=") + 2)); bw.write("\n"); } bw.flush(); } catch (IOException e) { e.printStackTrace(); } } // 批改程序 private static void checkAnswers(String noResultFileName, String resultFileName) { try (Scanner scanner = new Scanner(System.in)) { String[] noResultArray = Utils.readCsvFile(noResultFileName); String[] resultArray = Utils.readCsvFile(resultFileName); int errorCount = 0; // 错误个数 int correctErrorCount = 0; // 错正却个数 for (int i = 0; i < noResultArray.length; i++) { System.out.print(noResultArray[i]); String answer = scanner.nextLine(); // 比较答案 if (!answer.equals(resultArray[i].substring(resultArray[i].lastIndexOf("=") + 2))) { errorCount++; if (Integer.parseInt(answer) == Integer.parseInt(resultArray[i].substring(resultArray[i].lastIndexOf("=") + 2))) { correctErrorCount++; } } } System.out.println("错误个数:" + errorCount); System.out.println("错正却个数:" + correctErrorCount); } } public static void main(String[] args) { String additionQuestions = generateAdditionQuestions(); String subtractionQuestions = generateSubtractionQuestions(); String mixedQuestions = generateMixedQuestions(); generateResultCsvFile(additionQuestions, "加法习题文件_50道_01.csv"); generateNoResultCsvFile(additionQuestions, "加法习题文件_50道_02.csv"); generateResultCsvFile(subtractionQuestions, "减法习题文件_50道_01.csv"); generateNoResultCsvFile(subtractionQuestions, "减法习题文件_50道_02.csv"); generateResultCsvFile(mixedQuestions, "混合算式习题文件_50道_01.csv"); generateNoResultCsvFile(mixedQuestions, "混合算式习题文件_50道_02.csv"); checkAnswers("加法习题文件_50道_02.csv", "加法习题文件_50道_01.csv"); checkAnswers("减法习题文件_50道_02.csv", "减法习题文件_50道_01.csv"); checkAnswers("混合算式习题文件_50道_02.csv", "混合算式习题文件_50道_01.csv"); } } ``` 实验总结:本次实验主要学习了Java中的文件读写操作、随机数生成、字符串操作、批处理程序等知识点。在实现过程中,需要注意算式范围的限制、文件名的命名规范以及程序逻辑的正确性,以保证程序的可读性和正确性。通过本次实验,我对Java语言的基础知识有了更深入的理解,并且加强了对Java语言的编程能力和实践能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值