這段代碼從來不打印,無論我贏了,輸了,還是它是一條領帶,我都搞不清楚。我知道他的選擇和哪個選擇都正確設置,但ifs似乎不工作。我是否錯誤地使用了字符串,還是我將它們比較錯了?我是Java的新手,所以我不確定我做錯了什麼。掃描輸入的字符串
import java.util.Scanner;
import java.util.Random;
public class rps {
public static void main(String[] args) {
int oppchoice;
String hischoice = "";
String whichpick;
String rock = "rock";
String paper = "paper";
String scissors = "scissors";
Scanner mS = new Scanner(System.in);
Random mR = new Random();
System.out.print("Type your choice (rock/paper/scissors): ");
whichpick = mS.nextLine();
oppchoice = mR.nextInt(3) + 1;
if (oppchoice == 1) {
hischoice = rock;
}
if (oppchoice == 2) {
hischoice = paper;
}
if (oppchoice == 3) {
hischoice = scissors;
}
System.out.println(hischoice);
if ((hischoice == rock) && (whichpick == paper)) {
System.out.println("You win! :)");
}
if ((hischoice == paper) && (whichpick == scissors)) {
System.out.println("You win! :)");
}
if ((hischoice == scissors) && (whichpick == rock)) {
System.out.println("You win! :)");
}
if ((hischoice == rock) && (whichpick == scissors)) {
System.out.println("You lose! :(");
}
if ((hischoice == paper) && (whichpick == rock)) {
System.out.println("You lose! :(");
}
if ((hischoice == scissors) && (whichpick == paper)) {
System.out.println("You lose! :(");
}
if ((hischoice == rock) && (whichpick == rock)) {
System.out.println("It's a tie! :|");
}
if ((hischoice == scissors) && (whichpick == scissors)) {
System.out.println("It's a tie! :|");
}
if ((hischoice == paper) && (whichpick == paper)) {
System.out.println("It's a tie! :|");
}
}
}
http://stackoverflow.com/問題/ 513832 /怎麼辦 - 我 - 比較 - 串式的Java – baraber 2012-08-03 00:14:20