作业1(修正版)

复制代码
 1 import java.util.Scanner;
 2 
 3 public class zyz
 4 {
 5     static String result =null;//得到的算数式结果
 6     static int randomNumber = 0;//每一个随机生成的运算数,多次调用获得
 7     static int base = 0;//每个式子随机生成一个基数--首个运算数
 8     static int numberAmount = 0;//随机生成的算数式的运算数的个数(每个运算式的加数个数可能不一样)>1且<5
 9     static int answer = 0;//每一个运算式的算数答案
10 public static void yield(){    //循环产生运算数和符号的函数
11     //这个for循环执行的是一个式子的事情
12     boolean hasDivision = false;
13     for (int j = 0;j<numberAmount-1;j++){
14         int symbol = (Math.random() > 0.5 ? 0 : 2);
15         randomNumber = (int)(Math.random()*100)+1;//每次生成一个随机运算数
16         if (symbol==0){
17             result = result+"+"+String.valueOf(randomNumber);
18             answer = answer+randomNumber;
19         } else if (symbol==1) {
20             result = result+"-"+String.valueOf(randomNumber);
21             answer = answer-randomNumber;  // 这里原来是加法,应该是减法
22         } else if (symbol==2) {
23             result = result+"×"+String.valueOf(randomNumber);
24             answer = answer*randomNumber;
25         } else if (symbol==3 && !hasDivision) {  // 修改在这里,只有当没有除法时才添加除法
26             result = result+"÷"+String.valueOf(randomNumber);
27             answer = answer/randomNumber;
28             hasDivision = true;  // 添加除法后标记为已添加除法
29         }
30     }
31 }
32  public static void main(String[]args){
33         System.out.println("请输入想要的题目数量");
34         Scanner scanner = new Scanner(System.in);
35         int number = scanner.nextInt();//用户期望得到的算式数量
36         //循环生成number个式子
37         for(int i = 0;i<number;i++){
38             //首先随机生成一个式子的运算数的个数,要求个数在2个以上(自定义小于5个)
39             numberAmount = (int)(2+Math.random()*(4));
40             base = (int)(Math.random()*100)+1;//生成一个随机基数
41             result = String.valueOf(base);
42             answer = base;
43             zyz.yield();
44             while(answer<0){//答案为0的时候重新生成,不为0跳出
45                 result = String.valueOf(base);
46                 answer = base;
47                 zyz.yield();
48             }
49             System.out.println(result+"="+answer);
50         }
51     }
52 }
View Code
复制代码

上一个代码有错误,以上为修正版

 

posted @   污痕  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示