我真的很新java,我真的很努力地了解在Java中可以做什么,什么不可以。我正在制作一个基于众所周知的游戏Hangman的控制台应用程序。我试图做的就是阻止用户输入'e'两次以上,我做了两个方法:
每当用户键入e时,第一个将int变量 mManyTimes 加1。
public boolean adder() {
boolean tooMuch = letter == 'e';
if(tooMuch) {
mManyTimes ++;
}
return tooMuch;
}
第二种方法是发送异常的方法 当用户键入e超过两次时,向用户发送。
public void cheatStopper() {
if(mManyTimes == 3) {
throw new IllegalArgumentException("You cant type more Es");
}
}
基本上我创建了两个文件,一个保存游戏代码(这两个方法都在哪个)和另一个。
保存游戏逻辑的文件是 Game.java ,这里面是代码:
public class Game {
private String mAnswer;
private String mHits;
private String mMisses;
private int mManyTimes;
public char letter;
public Game(String answer) {
mAnswer = answer;
mHits = "";
mMisses = "";
}
public boolean applyGuess(char letter) {
//checks for char letter inside the mAnswer variable.
//If it is there the indexOf() method should return the index of the letter.
//If it is not there it will return -1.
//We are basicly saing if indexOf() method returns 0 or more then that then the isHit
//if it is not then the isHit boolean will return false.
boolean isHit = mAnswer.indexOf(letter) >= 0;
if (isHit) {
mHits = mHits + letter;
} else {
mMisses = mMisses + letter;
}
adder();
return isHit;
}
public boolean adder() {
boolean tooMuch = letter == 'e';
if(tooMuch) {
mManyTimes ++;
}
return tooMuch;
}
public void cheatStopper() {
if(mManyTimes == 3) {
throw new IllegalArgumentException("You cant type more Es");
}
}
包含 main()方法并将代码打印到控制台的另一个文件是 Hangman.java :
public class Hangman {
public static void main(String[] args) {
// Enter amazing code here:
Game game = new Game("treehouse");
game.applyGuess('e');
game.applyGuess('e');
System.out.println(game.cheatStopper());
}
}
所以这是让我感到沮丧的问题,我从未找到并回答: 如何让我的代码工作并阻止用户输入两个以上e。 好吧,我知道我的代码有很多错误和糟糕的结构,但不要忘记我刚接触java,并感谢提前:)。
答案 0 :(得分:0)
您需要catch
块。查看如何捕获异常。