以上代码 给定random范围为heroList的长度
时间: 2024-03-19 12:45:06 浏览: 13
好的,以下是修改后的代码,随机范围为heroList的长度:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class RandomHero {
public static void main(String[] args) {
List<String> heroList = new ArrayList<>();
heroList.add("鲁班七号");
heroList.add("貂蝉");
heroList.add("芈月");
heroList.add("钟无艳");
heroList.add("后羿");
heroList.add("孙悟空");
heroList.add("妲己");
heroList.add("百里守约");
heroList.add("露娜");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个王者荣耀英雄:");
String input = scanner.nextLine();
if (heroList.contains(input)) {
Random random = new Random();
int index = random.nextInt(heroList.size());
while (heroList.get(index).equals(input)) {
index = random.nextInt(heroList.size());
}
String output = heroList.get(index);
System.out.println("随机输出的王者荣耀英雄是:" + output);
} else {
System.out.println("输入的英雄不存在!");
}
}
}
```
在这个修改后的代码中,我们在生成随机数的时候,将范围设置为了heroList的长度,而不是默认的int类型整数的范围。同时,我们在取出随机英雄的时候,加入了一个while循环,确保取出的英雄不会与用户输入的英雄相同。这样就可以避免了随机到用户输入的英雄名称的情况。