用字母在java中随机填充4次网格



晚上好,我必须填写一个网格,我在其中添加了4个随机字母。我不知道如何开始,我有一个数组[I=5][j=4],我必须向一个随机的I和jaG加4次。我知道必须使用Math.random((以及一段时间(x<4(,但我不知道如何进行。在此处输入图像描述

package tp1;
import java.util.*;
import java.lang.Math;
public class Joueur {
//attributs
String pseudo;
private char[][] grille;
private int nbreManches;
private int nbreObstacles;
//constructeurs
public Joueur(String valeur) {
nbreManches = 0;
nbreObstacles = 0;
grille = new char[5][4];
pseudo = valeur;
}
public Joueur() {
Scanner sc = new Scanner(System.in);
System.out.println("Quel est votre pseudo ?");
pseudo = sc.nextLine();
nbreManches = 0;
nbreObstacles = 0;
grille = new char[5][4];
}
public void afficher() {
grille = new char[5][4];
System.out.println("************************************");
System.out.println("Pseudo: " + pseudo);
System.out.println("Nombre de manches: " + nbreManches);
System.out.println("Nombres d'obstacles: " + nbreObstacles);
System.out.println();

for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("|");
}
System.out.println("|");
}
System.out.println();

}

}

根据您的描述,我不知道您希望字母在网格中的位置,但我可以给出以下提示:

  • Math.random()总是在0<=x<1.如果您想要一个数字0<=x<=将Math.random()与y+1相乘,并将其转换为int。(转换为int会截断数字,因此例如truncate(0.999*25(将始终<24,因此+1(
  • 数据类型char也是一个数字,您可以对其应用数字运算

知道这个和字母表有26个字符你可以写:

private static char randomLetter() {
int i = (int) (Math.random() * 26); // 0 ... 25
int j = (int) (Math.random() * 2); // upper case yes/no
if (j == 1) {
return (char) ('A' + i);
}
return (char) ('a' + i);
}

这就是你要找的吗?

最新更新