Java 如果语句未执行,程序将发出 标题
Java类的程序,本应是“传递猪”的游戏,尝试了一切,但无法执行标记为//FIXME的特殊情况。下面是我写的代码。欢迎对我的错误提出任何建议。我知道有一种方法可以使用for循环使它变短,但我需要让这个程序正常工作,然后再尝试使它看起来光滑。多谢各位Java 如果语句未执行,程序将发出 标题,java,Java,Java类的程序,本应是“传递猪”的游戏,尝试了一切,但无法执行标记为//FIXME的特殊情况。下面是我写的代码。欢迎对我的错误提出任何建议。我知道有一种方法可以使用for循环使它变短,但我需要让这个程序正常工作,然后再尝试使它看起来光滑。多谢各位 包装ch07labx; 导入java.util.Random; 导入java.util.Scanner; 公共类通行证{ //作品名称 公共静态最终字符串SIDER_NO_DOT=“SIDER(NO DOT)”; 公共静态最终字符串SIDER_DO
包装ch07labx;
导入java.util.Random;
导入java.util.Scanner;
公共类通行证{
//作品名称
公共静态最终字符串SIDER_NO_DOT=“SIDER(NO DOT)”;
公共静态最终字符串SIDER_DOT=“SIDER(DOT)”;
公共静态最终字符串TROTTER=“TROTTER”;
公共静态最终字符串RAZORBACK=“RAZORBACK”;
公共静态最终字符串SNOUTER=“SNOUTER”;
public static final String LEANING_JOWLER=“LEANING JOWLER”;
//计件着陆得分
公共静态最终国际标准分数=0;
公共静态最终国际标准分数=0;
公共静态最终int TROTTER_分数=5;
公共静态最终积分RAZORBACK_分数=5;
公共静态最终int SNOUTER_分数=10;
公共静态最终智力学习(JOWLER)分数=15;
//着陆几率
公共静态最终内部参数=33;
公共静态最终内部参数=66;
公共静态最终int TROTTER_PROB=76;
公共静态最终int RAZORBACK_PROB=96;
公共静态最终int SNOUTER_PROB=99;
公共静态最终内部倾斜(下颚)概率=100;
专用静态扫描仪scnr=新扫描仪(System.in);
公共静态void main(字符串[]args){
字符串pigrolone=null;
字符串pigRollTwo=null;
int wholeTurnScore=0;
字符串userInput=null;
做{
int rollScore=0;
Random randGen=新的Random();
int rollOne=randGen.nextInt(100)+1;
int rollTwo=randGen.nextInt(100)+1;
int rollOneScore=0;
int rollTwoScore=0;
//rollOne成果
if(rollOne),因为您使用前一个if
语句(即该条件)测试该条件并中断。谢谢,将不执行if语句移动到if语句之后doubles rollScore似乎可以解决该问题。非常感谢。
package ch07labx;
import java.util.Random;
import java.util.Scanner;
public class PassThePigs {
//names of pieces
public static final String SIDER_NO_DOT = "Sider(no dot)";
public static final String SIDER_DOT = "Sider(dot)";
public static final String TROTTER = "Trotter";
public static final String RAZORBACK = "Razorback";
public static final String SNOUTER = "Snouter";
public static final String LEANING_JOWLER = "Leaning Jowler";
//score for piece landings
public static final int SIDER_NO_DOT_SCORE = 0;
public static final int SIDER_DOT_SCORE = 0;
public static final int TROTTER_SCORE = 5;
public static final int RAZORBACK_SCORE = 5;
public static final int SNOUTER_SCORE = 10;
public static final int LEANING_JOWLER_SCORE = 15;
//odds of landing
public static final int SIDER_NO_DOT_PROB = 33;
public static final int SIDER_DOT_PROB = 66;
public static final int TROTTER_PROB = 76;
public static final int RAZORBACK_PROB = 96;
public static final int SNOUTER_PROB = 99;
public static final int LEANING_JOWLER_PROB = 100;
private static Scanner scnr = new Scanner(System.in);
public static void main(String[] args) {
String pigRollOne = null;
String pigRollTwo = null;
int wholeTurnScore = 0;
String userInput = null;
do {
int rollScore = 0;
Random randGen = new Random();
int rollOne = randGen.nextInt(100) + 1;
int rollTwo = randGen.nextInt(100) + 1;
int rollOneScore = 0;
int rollTwoScore = 0;
//rollOne outcomes
if (rollOne <= SIDER_NO_DOT_PROB) {
pigRollOne = SIDER_NO_DOT;
rollOneScore = SIDER_NO_DOT_SCORE;
} else if (rollOne <= SIDER_DOT_PROB) {
pigRollOne = SIDER_DOT;
rollOneScore = SIDER_DOT_SCORE;
} else if (rollOne <= TROTTER_PROB) {
pigRollOne = TROTTER;
rollOneScore = TROTTER_SCORE;
} else if (rollOne <= RAZORBACK_PROB) {
pigRollOne = RAZORBACK;
rollOneScore = RAZORBACK_SCORE;
} else if (rollOne <= SNOUTER_PROB) {
pigRollOne = SNOUTER;
rollOneScore = SNOUTER_SCORE;
} else if (rollOne == LEANING_JOWLER_PROB) {
pigRollOne = LEANING_JOWLER;
rollOneScore = LEANING_JOWLER_SCORE;
}
//rollTwo outcomes
if (rollTwo <= SIDER_NO_DOT_PROB) {
pigRollTwo = SIDER_NO_DOT;
rollTwoScore = SIDER_NO_DOT_SCORE;
} else if (rollTwo <= SIDER_DOT_PROB) {
pigRollTwo = SIDER_DOT;
rollTwoScore = SIDER_DOT_SCORE;
} else if (rollTwo <= TROTTER_PROB) {
pigRollTwo = TROTTER;
rollTwoScore = TROTTER_SCORE;
} else if (rollTwo <= RAZORBACK_PROB) {
pigRollTwo = RAZORBACK;
rollTwoScore = RAZORBACK_SCORE;
} else if (rollTwo <= SNOUTER_PROB) {
pigRollTwo = SNOUTER;
rollTwoScore = SNOUTER_SCORE;
} else if (rollTwo == LEANING_JOWLER_PROB) {
pigRollTwo = LEANING_JOWLER;
rollTwoScore = LEANING_JOWLER_SCORE;
}
rollScore = rollOneScore + rollTwoScore;
//special cases
if ((pigRollOne.equals(SIDER_DOT) && pigRollTwo.equals(SIDER_NO_DOT)) ||
(pigRollOne.equals(SIDER_NO_DOT) && pigRollTwo.equals(SIDER_DOT))){
rollScore = 0;
wholeTurnScore = 0;
System.out.print("Rolling... " + pigRollOne +
" & " + pigRollTwo);
System.out.println();
System.out.print("this roll: " + rollScore);
System.out.println();
System.out.print("this turn: " + wholeTurnScore);
System.out.println();
System.out.println("Pig out!");
break;
}
if ((pigRollOne.equals(SIDER_DOT) && pigRollTwo.equals(SIDER_DOT)) ||
(pigRollOne.equals(SIDER_NO_DOT) && pigRollTwo.equals(SIDER_NO_DOT))){
rollScore = 1; //FIXME
}
if (pigRollOne.equals(pigRollTwo)) {
rollScore = 2 * (rollOneScore + rollTwoScore);
}
wholeTurnScore += rollScore;
//screen outputs
System.out.print("Rolling... " + pigRollOne +
" & " + pigRollTwo);
System.out.println();
System.out.print("this roll: " + rollScore);
System.out.println();
System.out.print("this turn: " + wholeTurnScore);
System.out.println();
System.out.print("Roll again (y/n)? ");
userInput = scnr.next();
if(userInput.charAt(0) == 'n'){
break;
}
}while (userInput.charAt(0) == 'y');
}
}