Java 如果语句未执行,程序将发出 标题

Java 如果语句未执行,程序将发出 标题,java,Java,Java类的程序,本应是“传递猪”的游戏,尝试了一切,但无法执行标记为//FIXME的特殊情况。下面是我写的代码。欢迎对我的错误提出任何建议。我知道有一种方法可以使用for循环使它变短,但我需要让这个程序正常工作,然后再尝试使它看起来光滑。多谢各位 包装ch07labx; 导入java.util.Random; 导入java.util.Scanner; 公共类通行证{ //作品名称 公共静态最终字符串SIDER_NO_DOT=“SIDER(NO DOT)”; 公共静态最终字符串SIDER_DO

Java类的程序,本应是“传递猪”的游戏,尝试了一切,但无法执行标记为//FIXME的特殊情况。下面是我写的代码。欢迎对我的错误提出任何建议。我知道有一种方法可以使用for循环使它变短,但我需要让这个程序正常工作,然后再尝试使它看起来光滑。多谢各位


包装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');

        }
    }