Lee_AA 2022-05-13 10:39 采纳率: 50%
浏览 29

10以内加减法 不重复 采用集合只能显示出来10个 超过无法显示

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

public class RandomEx {
    public static void main(String[] args) {
        RandomEx randomEx = new RandomEx();
        randomEx.test();
    }
    public void test(){
        Random random = new Random();
        List<Integer> s1 = new ArrayList<Integer>();
        List<Integer> s2 = new ArrayList<Integer>();
        List<String> label = new ArrayList<String>();
        //调整为10以内的 结果就可以出来,如果超过10 结果就出不来 不知道什么原因 请大神赐教
        while (s1.size()<10){
            int a = (int) (Math.random()*10+1);
            int b =  (int) (Math.random()*10+1);
            int c =random.nextInt(2);
            String d=(c==1)?"+":"-";
            //如果相减小于0 则重新生成随机数
            if ("-".equals(d)){
                if (a<b){
                    b=random.nextInt(a);
                }
            }
            //如果相加大于10 则重新生成随机数
            if ("+".equals(d)){
                while (a+b>10){
                    a=(int) (Math.random()*10+1);
                    b=(int) (Math.random()*10+1);
                }

            }
            //判断是否添加重复
            if (!s1.contains(a)){
                s1.add(a);
                s2.add(b);
                label.add(d);
            }

        }
        //打印结果
        show(s1,s2,label);

    }

    public void show(List<Integer> s1, List<Integer> s2, List<String> label){
        for (int i =0;i<s1.size();i++){
            int a=s1.get(i);
            int b=s2.get(i);
            String flag = label.get(i);
            int c=("+".equals(flag))?a+b:a-b;
            System.out.print(a+flag+b+"="+c+"\t");
            if ((i+1)%5==0){
                System.out.println();
            }
        }
    }
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • weixin_42068717 2022-05-13 10:49
    关注

    img


    这个判断不就10个。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月13日

悬赏问题

  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口