使变量的值与另一个相同

Make the value of variable the same as another

我正在尝试编写一个程序来帮助我更快地创建 dnd 字符,而不必查找 class 需要哪些统计信息,但我遇到的问题是变量不会传输从一个到另一个,当它是某个 class 时,if 语句对 运行 不起作用。 任何帮助或提示将不胜感激。

public class StatCalculator {
    public int Strength;
    public int Dexterity;
    public int Constitution;
    public int Intelligence;
    public int Wisdom;
    public int Charisma;
    public int firstStat;
    public int secondStat;
    public int thirdStat;
    public int fourthStat;
    public int fifthStat;
    public int sixthStat;
    public String playerClass;
    public boolean race;
    private static Scanner myObj;
    
// Constructors
    
        // Full Constructor
        
            public StatCalculator() {
                this.Strength = 0;
                this.Dexterity = 0;
                this.Constitution = 0;
                this.Intelligence = 0;
                this.Wisdom = 0;
                this.Charisma = 0;
                this.firstStat = 0;
                this.secondStat = 0;
                this.thirdStat = 0;
                this.fourthStat = 0;
                this.fifthStat = 0;
                this.sixthStat = 0;
                this.race = true;
                this.playerClass = "Default";
            }
            
        // Partial Constructor
            
            public StatCalculator(String playerClass) {
                super();
                this.Strength = 0;
                this.Dexterity = 0;
                this.Constitution = 0;
                this.Intelligence = 0;
                this.Wisdom = 0;
                this.Charisma = 0;
                this.firstStat = 0;
                this.secondStat = 0;
                this.thirdStat = 0;
                this.fourthStat = 0;
                this.fifthStat = 0;
                this.sixthStat = 0;
                this.race = true;
                this.playerClass = playerClass;
            }
            
        // Full Constructor
            
            public StatCalculator(String playerClass, int Strength, int Dexterity, int Constitution, int Intelligence, int Wisdom, int Charisma, int firstStat, int secondStat, int thirdStat, int fourthStat, int fifthStat, int sixthStat, boolean race) {
                this.Strength = 0;
                this.Dexterity = 0;
                this.Constitution = 0;
                this.Intelligence = 0;
                this.Wisdom = 0;
                this.Charisma = 0;
                this.firstStat = 0;
                this.secondStat = 0;
                this.thirdStat = 0;
                this.fourthStat = 0;
                this.fifthStat = 0;
                this.sixthStat = 0;
                this.race = race;
                this.playerClass = playerClass;
            }
        
        
// Methods
        
        // Input Method
            public void playerInput() {
                System.out.println("Please input your stats from highest to lowest.");
                
                myObj = new Scanner(System.in);
                System.out.println("What is your highest stat :");
                
                this.firstStat = myObj.nextInt();
                
                myObj = new Scanner(System.in);
                System.out.println("What is your next stat :");
                
                this.secondStat = myObj.nextInt();
                
                myObj = new Scanner(System.in);
                System.out.println("What is your next stat :");
                
                this.thirdStat = myObj.nextInt();
                
                myObj = new Scanner(System.in);
                System.out.println("What is your next stat :");
                
                this.fourthStat = myObj.nextInt();
                
                myObj = new Scanner(System.in);
                System.out.println("What is your next stat :");
                
                this.fifthStat = myObj.nextInt();
                
                myObj = new Scanner(System.in);
                System.out.println("What is your next stat :");
                
                this.sixthStat = myObj.nextInt();
                
                myObj = new Scanner(System.in);
                System.out.println();
                System.out.println();
                System.out.println("What class are you playing.");
                System.out.println("For some classes you would go different routes for sublasses.");
                System.out.println("Here is a list to help you get the most accurate numbers");
                System.out.println();
                System.out.println("FIGHTER SUBLCLASSES :");
                System.out.println("\t Normal Melee Fighter - Fighter1");
                System.out.println();
                System.out.println("\t Melee Eldritch Knight - Fighter2");
                System.out.println();
                System.out.println("\t Normal Ranged Fighter - Fighter3");
                System.out.println();
                System.out.println("\t Ranged Eldritch Knight - Fighter4");
                System.out.println();
                System.out.println("PALADIN SUBCLASS :");
                System.out.println();
                System.out.println("\t Strength Based Paladin - Paladin1");
                System.out.println();
                System.out.println("\t Finesse Based Paladin - Paladin2");
                System.out.println();
                System.out.println("ROGUE SUBCLASSES :");
                System.out.println();
                System.out.println("\t Investigative or Arcane Trickster - Rogue1");
                System.out.println();
                System.out.println("\t Deceptive or Social Emphasis - Rogue2");
                System.out.println();
                System.out.println("WARLOCK SUBCLASSES :");
                System.out.println();
                System.out.println("\t Normal Warlock - Warlock1");
                System.out.println();
                System.out.println("\t Warlock Hexblade - Warlock2");
                System.out.println();
                System.out.println("WIZARD SUBCLASSES :");
                System.out.println();
                System.out.println("\t Regular Wizard - Wizard1");
                System.out.println();
                System.out.println("\t School of Enchantment - Wizard2");
                System.out.println();
                System.out.println("Please input your class :");
            
                this.playerClass = myObj.nextLine();
                
                
            }

        // Class Method
            public void classDistributor(String playerClass, int firstStat, int secondStat, int thirdStat, int fourthStat, int fifthStat, int sixthStat) {
                if (playerClass == "Artificer") {
                    this.Intelligence = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Strength = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Barbarian") {
                    System.out.println("gay");
                    this.Strength = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Charisma = fifthStat;
                    this.Intelligence = sixthStat;
                }
                
                if (playerClass == "Bard") {
                    this.Charisma = firstStat;
                    this.Dexterity = secondStat;
                    this.Constitution = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Intelligence = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Cleric") {
                    this.Wisdom = firstStat;
                    this.Strength = secondStat;
                    this.Constitution = thirdStat;
                    this.Dexterity = fourthStat;
                    this.Charisma = fifthStat;
                    this.Intelligence = sixthStat;
                }
                
                if (playerClass == "Druid") {
                    this.Wisdom = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Intelligence = fourthStat;
                    this.Strength = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Fighter1") {
                    this.Strength = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Intelligence = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Fighter2") {
                    this.Strength = firstStat;
                    this.Intelligence = secondStat;
                    this.Constitution = thirdStat;
                    this.Dexterity = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Fighter3") {
                    this.Dexterity = firstStat;
                    this.Constitution = secondStat;
                    this.Strength = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Intelligence = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Fighter4") {
                    this.Dexterity = firstStat;
                    this.Intelligence = secondStat;
                    this.Constitution = thirdStat;
                    this.Strength = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Monk") {
                    this.Dexterity = firstStat;
                    this.Wisdom = secondStat;
                    this.Constitution = thirdStat;
                    this.Strength = fourthStat;
                    this.Intelligence = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Paladin1") {
                    this.Strength = firstStat;
                    this.Charisma = secondStat;
                    this.Constitution = thirdStat;
                    this.Dexterity = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Intelligence = sixthStat;
                }
                
                if (playerClass == "Paladin2") {
                    this.Dexterity = firstStat;
                    this.Charisma = secondStat;
                    this.Constitution = thirdStat;
                    this.Strength = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Intelligence = sixthStat;
                }
                
                if (playerClass == "Ranger") {
                    this.Dexterity = firstStat;
                    this.Wisdom = secondStat;
                    this.Constitution = thirdStat;
                    this.Intelligence = fourthStat;
                    this.Strength = fifthStat;
                    this.Charisma = sixthStat;
                }
                
                if (playerClass == "Rogue1") {
                    this.Dexterity = firstStat;
                    this.Intelligence = secondStat;
                    this.Constitution = thirdStat;
                    this.Charisma = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Rogue2") {
                    this.Dexterity = firstStat;
                    this.Charisma = secondStat;
                    this.Constitution = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Intelligence = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Sorcerer") {
                    this.Charisma = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Intelligence = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Warlock1") {
                    this.Charisma = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Intelligence = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Warlock2") {
                    this.Charisma = firstStat;
                    this.Dexterity = secondStat;
                    this.Constitution = thirdStat;
                    this.Intelligence = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Wizard1") {
                    this.Intelligence = firstStat;
                    this.Constitution = secondStat;
                    this.Dexterity = thirdStat;
                    this.Wisdom = fourthStat;
                    this.Charisma = fifthStat;
                    this.Strength = sixthStat;
                }
                
                if (playerClass == "Wizard1") {
                    this.Intelligence = firstStat;
                    this.Constitution = secondStat;
                    this.Charisma = thirdStat;
                    this.Dexterity = fourthStat;
                    this.Wisdom = fifthStat;
                    this.Strength = sixthStat;
                }
                
            }
        
    
        // Race Method
            public void racialModifier() {
                
                int strRace = 0;
                int dexRace = 0;
                int conRace = 0;
                int intRace = 0;
                int wisRace = 0;
                int chaRace = 0;
                
                myObj = new Scanner(System.in);
                System.out.println("Do you have a modifier on Strength? True/False :");
                
                race = myObj.nextBoolean();
                
                if (race == true) {
                    myObj = new Scanner(System.in);
                    System.out.println("What is the modifier :");
                    
                    strRace = myObj.nextInt();
                    
                    this.Strength = Strength + strRace;
                }
                
                System.out.println();
                
                myObj = new Scanner(System.in);
                System.out.println("Do you have a modifier on Dexterity? True/False :");
                
                race = myObj.nextBoolean();
                
                if (race == true) {
                    myObj = new Scanner(System.in);
                    System.out.println("What is the modifier :");
                    
                    dexRace = myObj.nextInt();
                    this.Dexterity = Dexterity + dexRace;
                }
                
                System.out.println();
                
                myObj = new Scanner(System.in);
                System.out.println("Do you have a modifier on Constitution? True/False :");
                
                race = myObj.nextBoolean();
                
                if (race == true) {
                    myObj = new Scanner(System.in);
                    System.out.println("What is the modifier :");
                    
                    conRace = myObj.nextInt();
                    this.Constitution = Constitution + conRace;
                }
                
                System.out.println();
                
                myObj = new Scanner(System.in);
                System.out.println("Do you have a modifier on Intelligence? True/False :");
                
                race = myObj.nextBoolean();
                
                if (race == true) {
                    myObj = new Scanner(System.in);
                    System.out.println("What is the modifier :");
                    
                    intRace = myObj.nextInt();
                    this.Intelligence = Intelligence + intRace;
                }
                
                System.out.println();
                
                myObj = new Scanner(System.in);
                System.out.println("Do you have a modifier on Wisdom? True/False :");
                
                race = myObj.nextBoolean();
                
                if (race == true) {
                    myObj = new Scanner(System.in);
                    System.out.println("What is the modifier :");
                    
                    wisRace = myObj.nextInt();
                    this.Wisdom = Wisdom + wisRace;
                }
                
                System.out.println();
                
                myObj = new Scanner(System.in);
                System.out.println("Do you have a modifier on Charisma? True/False :");
                
                race = myObj.nextBoolean();
                
                if (race == true) {
                    myObj = new Scanner(System.in);
                    System.out.println("What is the modifier :");
                    
                    chaRace = myObj.nextInt();
                    this.Charisma = Charisma + chaRace;
                }
                
                System.out.println();
                
            }

        // Display Method
            public void display() {
                System.out.println("These are your Stats");
                System.out.println();
                System.out.println("STR\tDEX\tCON\tINT\tWIS\tCHA");
                System.out.println();
                System.out.println("___\t___\t___\t___\t___\t___");
                System.out.println(" " + Strength + " \t " + Dexterity + " \t " + Constitution + " \t " + Intelligence + " \t " + Wisdom + " \t " + Charisma);
            }


// Getters & Setters

public int getStrength() {
    return Strength;
}

public void setStrength(int strength) {
    Strength = strength;
}

public int getDexterity() {
    return Dexterity;
}

public void setDexterity(int dexterity) {
    Dexterity = dexterity;
}

public int getConstitution() {
    return Constitution;
}

public void setConstitution(int constitution) {
    Constitution = constitution;
}

public int getIntelligence() {
    return Intelligence;
}

public void setIntelligence(int intelligence) {
    Intelligence = intelligence;
}

public int getWisdom() {
    return Wisdom;
}

public void setWisdom(int wisdom) {
    Wisdom = wisdom;
}

public int getCharisma() {
    return Charisma;
}

public void setCharisma(int charisma) {
    Charisma = charisma;
}

public int getFirstStat() {
    return firstStat;
}

public void setFirstStat(int firstStat) {
    this.firstStat = firstStat;
}

public int getSecondStat() {
    return secondStat;
}

public void setSecondStat(int secondStat) {
    this.secondStat = secondStat;
}

public int getThirdStat() {
    return thirdStat;
}

public void setThirdStat(int thirdStat) {
    this.thirdStat = thirdStat;
}

public int getFourthStat() {
    return fourthStat;
}

public void setFourthStat(int fourthStat) {
    this.fourthStat = fourthStat;
}

public int getFifthStat() {
    return fifthStat;
}

public void setFifthStat(int fifthStat) {
    this.fifthStat = fifthStat;
}

public int getSixthStat() {
    return sixthStat;
}

public void setSixthStat(int sixthStat) {
    this.sixthStat = sixthStat;
}

public String getPlayerClass() {
    return playerClass;
}

public void setPlayerClass(String playerClass) {
    this.playerClass = playerClass;
}

public boolean getRace() {
    return race;
}

public void setRace(boolean race) {
    this.race = race;
}

public static Scanner getMyObj() {
    return myObj;
}

public static void setMyObj(Scanner myObj) {
    StatCalculator.myObj = myObj;
}
    


    public static void main(String[] args) {
    StatCalculator s = new StatCalculator();
    s.playerInput();
    s.classDistributor(s.playerClass, s.firstStat, s.secondStat, s.thirdStat, s.fourthStat, s.fifthStat, s.sixthStat);
    System.out.println(s.Strength);
    s.racialModifier();
    s.display();
    }

}

我前段时间做了同样的事情,而不是简单地将值更新为播放器更新的值,如果它是全局的并且正确完成它应该工作并且它更容易并且需要更少的代码。