为什么赢了';我的java显示更新失败了吗?宾果卡
我正在做一个宾果游戏,如果用户输入的数字与卡中的随机数匹配,那么需要标记用户输入的数字,然后我希望显示更新的卡。不过,我似乎无法让标记显示出来。我觉得我应该更新打印出来的字符串,但我不知道该怎么做为什么赢了';我的java显示更新失败了吗?宾果卡,java,arrays,string,for-loop,Java,Arrays,String,For Loop,我正在做一个宾果游戏,如果用户输入的数字与卡中的随机数匹配,那么需要标记用户输入的数字,然后我希望显示更新的卡。不过,我似乎无法让标记显示出来。我觉得我应该更新打印出来的字符串,但我不知道该怎么做 public class BingoCard { public static void main (String[] args) { Random rando = new Random(); Scanner in = new Scanner(S
public class BingoCard {
public static void main (String[] args) {
Random rando = new Random();
Scanner in = new Scanner(System.in);
int [][] Card = new int [5][5];
int userNum = 0;
boolean BINGO;
int start = 1;
//2D Array populating top to bottom and left to right
for (int c = 0; c < Card[0].length; c++) {
for (int r = 0; r < Card.length; r++) {
int pos = rando.nextInt(values.size()-1);
Card[r][c] = values.get(pos);
values.remove(pos);
}//End of inner loop
for (int i = start; i < 15; i++) {
values.add(i);
}//End for
start += 15;
}//End of outer loop
//Free Space
Card[2][2] = 0;
System.out.println("Welcome to Bingo!");
do {
//Display
String str = "B\tI\tN\tG\tO\n";
for (int r = 0; r < Card.length; r++) {
for (int c = 0; c < Card[0].length; c++) {
if (Card[r][c] > 0) {
str += Card[r][c] + "\t";
}
else {
str += "X\t";
}//End else
//Place Markers
for (int r2 = 0; r2 < Card.length; r2++) {
for (int c2 = 0; c2 < Card[0].length; c2++) {
if (Card[r2][c2] == userNum) {
Card[r2][c2] = 0;
}//End if
}//End inner
}//End outer
}//End inner loop
str += "\n";
}//End outer loop
System.out.println(str);
System.out.println("Please enter the number called");
userNum = in.nextInt();
int sumAcross = 0;
int sumVertical = 0;
int sumDiagR = 0;
int sumDiagL = 0;
for (int r = 0; r < Card.length; r++) {
for (int c = 0; c < Card[0].length; c++) {
sumAcross += Card[r][c];
sumVertical += Card[c][r];
}//End inner
sumDiagR += Card[r][r];
sumDiagL += Card[r][4-r]; //Inverts the diagonal. Check Array placements to understand better
//Check win if all are 0
if (sumAcross == 0 || sumVertical == 0) {
BINGO = true;
}
sumAcross = 0;
sumVertical = 0;
}//End outer
if (sumDiagR == 0 || sumDiagL == 0) {
BINGO = true;
}
else {
BINGO = false;
}
} while (!BINGO);
}//End main
}//End class```
Also, if anyone has any good java fundamental videos that explain everything like you're a toddler, I'd appreciate those greatly.
公共类宾果{
公共静态void main(字符串[]args){
随机随机数=新随机数();
扫描仪输入=新扫描仪(系统输入);
int[][]卡=新int[5][5];
int userNum=0;
布尔宾果;
int start=1;
//从上到下、从左到右填充的二维数组
对于(int c=0;c0){
str+=Card[r][c]+“\t”;
}
否则{
str+=“X\t”;
}//结束其他
//放置标记
对于(int r2=0;r2
如果有人有什么好的java基础视频可以解释一切
-在这个网站上询问哦,该死。我明白为什么。我只是想学习!您的宾果卡必须跟踪一个数字是标记的还是未标记的,可能需要使用一个普通的Java getter/setter单元类。也许这个解释和代码会给你一些想法。太棒了!谢谢你,吉尔伯特!