m0_73396645 2023-09-23 15:04 采纳率: 50%
浏览 14

用0-1 100个随机生成的浮点数生成0-99不重复的100个整数

使用"java.lang.Math.Random()"生成100个 0.0 到 1.0之间的随机浮点数;

利用刚刚所生成的100个随机浮点数,乱序输出0~99,一共100个不重复的整数。对实现语言不做要求,可以继续使用java,也可以选择自己熟悉的语言。

要求:乱序输出指这100个数的顺序尽量满足随机,整数必须是0到99之间的一位或两位自然数,且输出的100个数中,不能有重复的数。

附加规则:尽量运用排序算法完成任务2,巧妙运用排序算法实现随机浮点数到随机整数转变的酌情加分。

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-09-23 15:13
    关注
    import java.util.Arrays;
    
    public class HelloWorld {
        public static void main(String[] args) {
            double[] floatarr = new double[100];
            for (int i = 0; i < 100; i++) {
                floatarr[i] = Math.random();
            }
            
            int[] intarr = new int[100];
            for (int i = 0; i < 100; i++) {
                intarr[i] = i;
            }
            
            // 使用冒泡排序对intarr按照对应下标floatarr中的值进行排序
            for (int i = 0; i < 100 - 1; i++) {
                for (int j = 0; j < 100 - i - 1; j++) {
                    if (floatarr[j] > floatarr[j + 1]) {
                        // 交换floatarr中的值
                        double temp = floatarr[j];
                        floatarr[j] = floatarr[j + 1];
                        floatarr[j + 1] = temp;
                        
                        // 交换intarr中的值
                        int tempInt = intarr[j];
                        intarr[j] = intarr[j + 1];
                        intarr[j + 1] = tempInt;
                    }
                }
            }
            
            // 输出排序后intarr的值
            for (int i = 0; i < 100; i++) {
                System.out.print(intarr[i] + " ");
            }
        }
    }
    

    img

    评论

报告相同问题?

问题事件

  • 请采纳用户回复 9月23日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 关于#人工智能#的问题:(2)设计一个GUI,允许语音和文本实现谣言的检测
  • ¥50 请教 麒麟系统挂载怎么安装
  • ¥15 如何在ns3中实现路径的自由切换
  • ¥20 SpringBoot+Vue3
  • ¥15 IT从业者的调查问卷
  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计