How can I generate a random number within a certain range with Java?
本问题已经有最佳答案,请猛点这里访问。
我想在Java中生成一个随机数。 它可以是整数,字节或浮点类型,但我真正需要的是生成一个随机数。 这就是我正在做的事情:
这是代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.util.HashMap; public class Attack { public static void main(String[] args) { HashMap<String, Integer> attacks = new HashMap<String, Integer>(); attacks.put("Punch", 1); attacks.put("Uppercut", 3); attacks.put("Roundhouse Kick", 5); int actionPoints = // Code for random number generation System.out.println("A brigade integrant appeared!"); System.out.println("What do you do?"); System.out.println("1: Punch [1 AP], 2: Uppercut [3 AP], 3: Roundhouse Kick [5 AP]"); System.out.println("You have" + actionPoints +" Action Points."); Scanner reader = new Scanner(System.in); System.out.println("Enter a number:"); int n = reader.nextInt(); reader.close(); if n == 1 { System.out.println("The brigade integrant takes 2 HP of damage!"); } else if n == 2 { System.out.println("The brigade integrant takes 5 HP of damage!"); } else if n == 3 { System.out.println("The brigade integrant takes 8 HP of damage!"); } } } |
在Java 1.7+中,您可以在一行中完成(不包括import语句;):
1 2 3 | import java.util.concurrent.ThreadLocalRandom; int actionPoints = ThreadLocalRandom.current().nextInt(5, 21); // 5 to 20 inclusive |
试试这个 :
1 2 3 4 |
您可以通过多种方式生成随机数。 其中两个是:
1 2 3 |
要指定确切的范围,您可以执行以下操作:
1 |