我有一个问题:为什么我的int不能正确保存? (java)
我正在使用一个输入(字符串),我想保存到一个int。我想在另一个类中使用该int,但在用户输入后,int仍然为0。代码如下。我想在另一个类中使用int fsize。我想与getFsize()
一起使用它,但如果我在其他课程中使用它,它会说fsize = 0
。
public class MineSweeper {
private boolean gameOn = true;
int fsize;
int bpercent;
ConsoleIO io = new ConsoleIO();
// start getters and setters
public int getFsize() {
return fsize;
}
public void setFsize(int fsize) {
this.fsize = fsize;
}
public int getBpercent() {
return bpercent;
}
public void setBpercent(int bpercent) {
this.bpercent = bpercent;
}
// end getters and setters
// while (gameOn = true) {
public void startGame() {
io.writeOutput("Welkom bij het spelletje Mijnenveger!");
io.writeOutput("Probeer alle mijnen te vinden in het mijnen veld.");
}
public void fieldSize() {
io.writeOutput("Geef de grootte van het veld (5-20):");
// read the input from the console
String input1 = io.readInput();
if (input1.matches("[0-9]+")) {
this.fsize = Integer.parseInt(input1);
if (this.fsize > 20 || this.fsize < 5) {
System.out
.println("*** De grootte moet tussen 5 en 20 liggen! ***");
fieldSize();
} else {
System.out.println(this.fsize);
}
} else {
System.out.println("Vul wel een enkel getal in tussen 5 en 20!");
fieldSize();
}
}
你称这个类和它的方法? – Salah
我称之为主类: \t MineSweeper sweep = new MineSweeper(); \t \t sweep.startGame(); \t \t sweep.fieldSize(); \t \t sweep.bombPercentage(); \t \t Field field = new Field(); \t \t field.printField(); – Olivier
我将它改为static int fsize;它的工作!非常感谢! :D – Olivier