旅游度假生成随机数问题,请教老师

来源: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回答

好帮手慕小黑

2022-08-17

同学你好,

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中随机生成一个数。

祝学习愉快!

0
hilliamSCohen
hp>好的谢谢~

h022-08-17
共1条回复

0 学习 · 9886 问题

查看课程