是什么导致方法变为“非静态”?
我一直在努力让这个抛硬币工作。可悲的是,几十年(至少感觉是这样)过去了,我发现的是,如果(请随时纠正我)if 语句/开关在方法内部,它会使方法成为非静态的。那么如何解决这个错误。重要的事情要知道:p1Choose
开始是真的。如果该人赢得掷硬币,我希望此方法返回 true(如果p1Choose
为 true,则为玩家 1,如果为 false,则为玩家 2)。
public boolean cointoss() {
int toss = Random.nextInt(1); // Or is this random causeing it????
String HorT;
String callHorT;
boolean returnMe = true;
if ( toss == 0) {
HorT = "Heads";
} else {
HorT = "Tails";
}
if ( p1Choose == true ) {
System.out.println( p1Name + " choose Heads or Tails!");
callHorT = scan.next();
if( HorT != callHorT) {
System.out.println("You lose!");
returnMe = false;
}
if( HorT == callHorT) {
System.out.println("You lose!");
returnMe = true;
}
} else if ( p1Choose ==false ) {
System.out.println( p2Name + " choose Heads or Tails!");
callHorT = scan.next();
if( HorT != callHorT) {
System.out.println("You lose!");
returnMe = false;
}
if( HorT == callHorT) {
System.out.println("You lose!");
returnMe = true;
}
}
if (p1Choose == true ) {
p1Choose = false;
}
if (p1Choose == false) {
p1Choose = true;
}
return returnMe;
}
我收到这个错误,说非静态方法不能被静态上下文引用