我正在尝试用java制作一个硬币翻转游戏。我对这门语言比较陌生,我知道的唯一其他语言是 Javascript,所以我还在学习。在只使用一个类并将所有代码放入其中之前,我已经制作了一个,但我现在正在尝试使用方法来完成它,因为我正在尝试学习它们。
游戏的基本思想是用户选择他们想要翻转的硬币数量,他们选择正面或反面,然后计算机翻转硬币并计算是否有更多正面或反面来告诉用户他们是否赢了或不是。
如您所见,我的程序还不是很完整,但是我已经遇到了错误。我只是对我已经拥有的代码进行了一些测试,我发现当我调用该方法时settingUpCoin
在主类中调用该方法时,程序终止了。
所以基本上,当我运行它时,它会正确执行userImp
,正确转换,但是它不允许你输入值howManyCoins
并在你到达之前终止settingUpCoin
. 请帮忙!谢谢!(另外,很抱歉,如果我在那个解释中说了一些非常愚蠢的话,我对一般编程真的很陌生,所以请幽默我:D)
顺便说一句,如果您有任何其他建议或提示可以帮助我,请随时给他们,只是不要透露太多,因为我想看看我自己能弄清楚多少。再次感谢所有的帮助,因为我知道这是一篇非常混乱的帖子,你们都在用自己的空闲时间阅读!
(注意:这都是在 Eclipse Luna 构建或 Java IDE 中完成的。类文件在实际中都是分开的,我只是把它们放在一起来演示我的代码。)
硬币.java:
import java.io.IOException;
public class Coin {
double myCoin;
int numOfCoins;
int counter;
double arrayOfCoins[] = {};
public void howManyCoins() throws IOException {
System.out.println("How many coins would you like to flip?");
numOfCoins = System.in.read();
}
public void settingUpCoin() {
for (counter = 0; counter == numOfCoins; counter++) {
arrayOfCoins[counter] = Math.floor(Math.random() * 2);
System.out.println("Adding a coin. Coin number" + counter);
//each time loop goes consider calling userChoice() method
}
}
}
用户选择.java:
import java.io.IOException;
public class UserChoice {
char userPick;
int finalUserPick;
public void userImp() throws IOException {
System.out.println("Pick H for heads and T for tails. Make sure to capitalize."); // times number of coins?
userPick = (char) System.in.read(); // times number of coins?
}
public void transform() {
if (Character.toString(userPick).matches("H")) {
finalUserPick = 0;
System.out.println("You picked Heads");
} else {
finalUserPick = 1;
System.out.println("You picked Tails");
}
}
}
PutItAllTogether.java:
import java.io.IOException;
public class PutItAllTogether {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Coin myCoin1 = new Coin();
UserChoice request = new UserChoice();
request.userImp();
request.transform();
myCoin1.howManyCoins();
myCoin1.settingUpCoin();
}
}