4-5旅游度假问题,请老师指正

来源:4-5 项目作业

Allisam

2021-10-05 23:17:55

相关代码:

package com.imooc.array;

import java.util.Scanner;

public class Quest4_5 {

public static void main(String[] args) {
// 旅游度假问题
Scanner sc = new Scanner(System.in);
String[] str = new String[5];
for (int i = 0; i < str.length; i++) {
System.out.println("请输入第" + (i + 1) + "个旅游目的地");
str[i] = sc.next();
}
System.out.println("以下地方供旅游参考:");
for (String s : str) {
System.out.print(s + " ");
}
int num = (int) (Math.random() * 10 % 6);
System.out.println('\n' + "随机生成的旅游目的地:" + str[num]);
}
}


写回答

1回答

好帮手慕小蓝

2021-10-06

同学你好,同学的代码中生成随机数使用的是:

int num = (int) (Math.random() * 10 % 6);

这条语句生成的随机数中包含5,当访问数组下标5的时候会出现java.lang.ArrayIndexOutOfBoundsException数组下标越界异常。

建议同学将这句修改为:

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

​祝学习愉快~


0

0 学习 · 9886 问题

查看课程