首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使变量的值与另一个变量相同

使变量的值与另一个变量相同
EN

Stack Overflow用户
提问于 2020-07-15 05:37:03
回答 1查看 22关注 0票数 0

我试图制作一个程序来帮助我更快地创建dnd字符,而不必查找类需要哪些统计数据,但我遇到的问题是变量不会从一个变量转移到另一个变量,而if语句在某个类时无法运行。如有任何帮助或建议,将不胜感激。

代码语言:javascript
复制
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();
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-15 05:44:58

一段时间前,我做了同样的事情,而不是让它变得一样,而是简单地将值更新到播放器更新的值,如果它是全局的,并且做得很好,那么它应该可以工作,而且更容易,代码也更少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62908227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档