请问为什么这段代码生成的随机数只有1?

来源:4-5 项目作业

慕粉2100763

2022-08-15 13:49:14

package com.imooc;

import java.util.Scanner;

public class HelloImooc {
    public static void main(String[] args) {
    	//创建一个数组,从键盘读取5个目的地
    	String[] place=new String[5];
    	for(int i=0;i<5;i++) {
    		System.out.println("请输入第"+(i+1)+"个旅游目的地:");
    		Scanner sc=new Scanner(System.in);
    		String str=sc.next();
    		System.out.println(str);
    		place[i]=str;
    	}
    	System.out.println("以下地方供旅游参考:");
    	for(int i=0;i<5;i++) {
    		System.out.println(place[i]);
    	}
    	//随机选取一个目的地
    	int destination=(int)Math.random()*5;
    	System.out.println("随机生成的旅游目的地:"+place[destination]);
    }
}


写回答

1回答

好帮手慕小尤

2022-08-15

同学你好,建议同学将Math.random()*5用小括号括起来,将其当做一个整体。然后将生成的随机数转换为int类型。如下所示:

int destination=(int)(Math.random()*5);

祝学习愉快!

0

0 学习 · 9886 问题

查看课程