旅游度假生成随机数问题,请教老师
来源:4-5 项目作业
WilliamSCohen
2022-08-17 17:41:07
package com.imooc.array; import java.util.Random; import java.util.Scanner; public class TravelDemo { public static void main(String[] args) { // 生成随机数:1-5 Random r=new Random(); int temp = r.nextInt(5)+1; //System.out.println("随机生成数为:"+r); Scanner sc = new Scanner(System.in); // 声明String 数组保存旅游目的地 String[] travel = new String[5]; for (int i = 0; i < travel.length; i++) { System.out.println("请输入第" + (i + 1) + "个旅游目的地:"); travel[i] = sc.next(); } System.out.println("以下地方供旅游参考:"); for(String n:travel) { System.out.print(n+" "); } System.out.println(); for(int i=0;i<travel.length;i++) { if(i+1==temp) { System.out.println("随机生成的旅游目的地为:"+travel[i]); } } sc.close(); } }
关于这个随机数生成,之前尝试使用 Math.random()*5);
生成的随机数好像还有0在内
想请问一下这个随机数是否有指定的方法呢?比如我希望它的范围在1-5,就只随机生成1-5之间的数字。
麻烦请老师解答谢谢。
1回答
同学你好,
1.Math.random()是返回一个double类型的0到1的随机数;
2.Math.random()*5就是生成0~5之间的随机数(不包括5);
3.Math.random()*5+1就是从1到6产生随机数(不包括6);
4.(int)(Math.random()*5+1)就是从1到6产生随机数然后取整数部分,也就是从1,2,3,4,5中随机生成一个数。
祝学习愉快!
相似问题