Je veux rendre un int public défini au hasard. Mais j'ai un problème.
public static int response = rand.nextInt(6) + 1;
public static void main(String []args){
Random rand = new Random();
Ce code ne fonctionne pas. Je comprends que puisque l'aléatoire est à l'intérieur de la méthode principale, le public int ne peut pas récupérer le rand. Est-il possible que je puisse avoir un int public défini sur un nombre aléatoire?
3 réponses
Vous pouvez utiliser la classe ThreadLocalRandom.
import java.util.concurrent.ThreadLocalRandom;
public static int response = ThreadLocalRandom.current().nextInt(6) + 1;
Le champ rand
doit être défini dans un contexte statique pour que response
fasse référence à ce champ.
Soit utiliser ceci:
public static int response = new Random().nextInt(6) + 1;
Ou simplement pour un nombre aléatoire, vous pouvez utiliser le statique random () dans la classe Math.
public static int response = 1 + (int)(6 * Math.random())
Si vous devez créer d'autres nombres aléatoires, vous pouvez créer un champ rand
privé.
private final static Random rand = new Random();
public static int response = rand.nextInt(6) + 1;
Vous pouvez utiliser un bloc d'initialisation statique , comme
public static int response;
static {
Random rand = new Random();
response = rand.nextInt(6) + 1;
}
Questions connexes
De nouvelles questions
java
Java est un langage de programmation de haut niveau. Utilisez cette balise lorsque vous rencontrez des problèmes pour utiliser ou comprendre la langue elle-même. Cette balise est rarement utilisée seule et est le plus souvent utilisée en conjonction avec [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] et [maven].