Java 使用也包含print语句的方法的返回值
我正在为班级做一个石头剪刀项目,我试图使用一种方法打印谁赢了比赛,并返回一个我用来确定谁赢得最多的值 然而,在第一个方法中,当我将该方法分配给一个值以使用它时,它会打印出evaluate方法中的语句,是否有任何方法可以解决这个问题,或者我必须创建另一个方法来执行相同的操作,而不打印语句 (userWins和computerWins在main()中声明和初始化)Java 使用也包含print语句的方法的返回值,java,if-statement,methods,printing,return,Java,If Statement,Methods,Printing,Return,我正在为班级做一个石头剪刀项目,我试图使用一种方法打印谁赢了比赛,并返回一个我用来确定谁赢得最多的值 然而,在第一个方法中,当我将该方法分配给一个值以使用它时,它会打印出evaluate方法中的语句,是否有任何方法可以解决这个问题,或者我必须创建另一个方法来执行相同的操作,而不打印语句 (userWins和computerWins在main()中声明和初始化) 副作用(如打印语句)和返回值不相关。如果您不希望执行副作用(如打印语句),则不要执行副作用。最好完全取消打印,使用单独的方法,然后根据需
副作用(如打印语句)和返回值不相关。如果您不希望执行副作用(如打印语句),则不要执行副作用。最好完全取消打印,使用单独的方法,然后根据需要打印出值。
winEvaluation
!=<代码>评估。请发布真实代码。同上,目前还不清楚。代码不完整(发布的代码只播放一轮),并且不清楚您试图做什么,也不清楚为什么打印语句没有做您想要做的事情。
main( ) {
int userWins = 0;
int computerWins = 0;
.....
int value = winEvaluation(userChoice, computerChoice);
if (value == 1){
userWins++;
} else if (value == 2){
computerWins++;
} else{
}
System.out.prinln("user wins: " + userWins + " computer wins: " + computerWins);
}
private static int evaluate(int userChoice, int computerChoice) {
int winValue = 0;
String win = "You win.";
String lose = "I win.";
String draw = "We picked the same thing! This round is a draw.";
if( userChoice == 1) {
if(computerChoice == 1){
System.out.println(draw);
winValue = 0;
}else if(computerChoice == 2){
System.out.print("PAPER covers ROCK." );
System.out.println(lose);
winValue = 2;
}else {
System.out.print("ROCK breaks SCISSORS.");
System.out.println(win);
winValue = 1;
}
}else if (userChoice == 2 ) {
if (computerChoice == 1){
System.out.print("PAPER covers ROCK.");
System.out.println(win);
winValue = 1;
}else if (computerChoice == 2){
System.out.println(draw);
winValue = 0;
}else {
System.out.print("SCISSORS cuts PAPER.");
System.out.println(lose);
winValue = 2;
}
}else if (userChoice == 3){
if (computerChoice == 1){
System.out.print("ROCK breaks SCISSORS.");
System.out.println(lose);
winValue = 2;
}else if (computerChoice == 2){
System.out.print("SCISSORS cuts PAPER.");
System.out.println(win);
winValue = 1;
}else {
System.out.println(draw);
winValue = 0;
}
}
return winValue;
}