A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

可以设定生成范围和生成次数了。◕‿◕。

  1. import java.util.Scanner;
  2. class A_Random_Work {
  3.        
  4.         public static void main(String[] args) {
  5.                 int a1 = 0,b1 = 0;

  6.                 //0~任意数之间的随机整数
  7.                 Scanner sc = new Scanner(System.in);

  8. a:                while(true) {
  9.                         System.out.println("要生成0到几的随机数?");

  10.                         //获得第一个数

  11.                         //a1 = judge(sc.next());
  12.                         String a = sc.next();
  13.                         boolean isNum = a.matches("[0-999999]+");
  14.                         if(isNum) {
  15.                                  a1 = Integer.parseInt(a);
  16.                         }
  17.                         else {
  18.                                 System.out.println("请输入正确的数字\n-------------------------");       
  19.                                 continue;
  20.                         }
  21.                
  22.                         //int a = sc.nextInt();

  23. b:                        while (true) {
  24.                                         System.out.println("-------------------------\n要生成几次?");
  25.                                 //int b = sc.nextInt();
  26.                                 String b = sc.next();
  27.                                 boolean isNum2 = b.matches("[0-999999]+");
  28.                                 if(isNum2) {
  29.                                          b1 = Integer.parseInt(b);
  30.                                 }
  31.                                 else {
  32.                                         System.out.println("请输入正确的数字\n-------------------------");       
  33.                                         continue;
  34.                                 }

  35.                 /*得到要生成的'范围'和要生成的'次数'后
  36.                         可以开始产生并输出随机数了*/
  37.                                 System.out.println("-------------------------");
  38.                                 for (int i = 0;i < b1 ;i++ ) {
  39.                                         int num = (int)(Math.random()*(a1+1));                        //0~a随机数
  40.                                 System.out.print(num+"  ");
  41.                                 }
  42.                                 System.out.println();

  43.                                 System.out.println("是否继续生成随机数字? y / n");
  44.                                 String c = sc.next();
  45.                                 if(c.equals("y")|c.equals("Y")) {
  46.                                         System.out.println();
  47.                                         break b;
  48.                                 }
  49.                                 else
  50.                                         break a;
  51.                         }
  52.                
  53.                 }
  54.         }

  55.                         /*public static int judge(String a){
  56.                                 boolean isNum = a.matches("[0-999999]+");
  57.                                         if(isNum) {
  58.                                                  return Integer.parseInt(a);
  59.                                         }
  60.                                         else {
  61.                                                 System.out.println("请输入正确的数字\n-------------------------");       
  62.                                                 continue;
  63.                                         }
  64.                                 }*/
  65.                        
  66. }
复制代码

捕获.PNG (37.39 KB, 下载次数: 14)

捕获.PNG

1 个回复

倒序浏览
生成随机数所用到的一些
Scanner

    导包,在 class 之前 import java.util.Scanner;

    创建对象,在 main 函数之中 Scanner sc = new Scanner(System.in);

    输入数据(字符串型) String a = sc.next();

    输入数据(整型) String a = sc.nextInt();

Matcher类

    判断字符串是否是正整数 boolean isNum = a.matches("[0-999999]+");

math类

    生成随机数random int num = (int)(Math.random()*(a1+1));

其他

    将字符串转换为整型 a = Integer.parseInt(b);

    比较字符串是否相等 a.equals("Y")
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马