我正在尝试使用Java,而且还没有接受过正式的培训。我从某个地方的某个课程中选择了一个作业,并认为我会尝试一下。到目前为止,一切进展顺利,但我需要让用户输入一个来自给定列表的选择。我没有处理字符串值的问题,但他们也可以选择0-39之间的数字,我希望将其存储为int。
任何帮助都将不胜感激。
import java.util.Scanner;
public class RouletteGame {
static Player p1;
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*37);
int winnings = 0;
int x = 0;
int counter = 1;
int p = 1;
String name;
String choice;
int iAmount = 100;
int betNum;
System.out.println("Welcome to Cache Creek style Rouylette..bet an amount and type");
System.out.println(" if you select the correct colour, you win double your bet");
System.out.println(" if you select the correct odd/even, you win double your bet");
System.out.println(" if you select the correct number, you win 40 times your bet");
System.out.println(" otherwise you lose your bet");
System.out.println("If you lose all your money, the game is over");
System.out.println();
System.out.print("How much do you want to bet? $");
int bet=scan.nextInt();
while (x==0){
Scanner scann = new Scanner(System.in);
System.out.println("What is your bet? (odd/even/red/black/exact number)");
choice=scann.nextLine();
}
if (choice.equals("odd")){
System.out.println("You have selected odd.");
x=1;
}
else if (choice.equals("even")){
System.out.println("You have selected even.");
x=1;
}
else if (choice.equals("red")){
System.out.println("You have selected red.");
x=1;
}
else if (choice.equals("black")){
System.out.println("You have selected black.");
x=1;
}
else if (choice.equals(int)){
betNum = Integer.parseInt(choice);
System.out.println("You have selected " +betNum);
x=1;
}
else{
System.out.println("Invalid value: Must be odd, even, red, black or a number between 0 and 39");
x=0;
}
}
}
}
答案 0 :(得分:0)
问题是你不知道给定答案是字符串还是整数。
这条线不会编译:
else if (choice.equals(int)) {
相反,创建一个新方法isInteger(String s)
,就像this one一样,并在上面一行的位置调用它,就像那样:
else if (isInteger(choice)) {
betNum = Integer.parseInt(choice);
if (betNum >= 0 && betNum <=39) {
System.out.println("You have selected " +betNum);
x = 1; //by the way, you can set x to be a boolean variable
} else { //betNum not a valid Roulete number
System.out.println("Invalid value: Must be odd, even, red, black or a number between 0 and 39");
x=0;
}
}