亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將用戶輸入存儲到變量中

將用戶輸入存儲到變量中

千萬里不及你 2022-05-25 10:00:52
用戶輸入沒有更新相應的變量。當用戶在提示時輸入數字時,我正在嘗試更新 Dexterity 變量。我創建了一個 setDex 方法,當添加到 getDex 方法時,它應該接受用戶輸入量并更新它。getDex 方法應該檢索變量的當前值。public class SetAttributes {    double Dexterity;    double Strength;    double Intelligence;    double Stamina;    double SkillPoints = 50;    public SetAttributes() {        this.setDex(0);        this.setStr(0);        this.setInt(0);        this.setSta(0);        this.setSkillPoints(50);    }    public double getSP(){        return SkillPoints;    }    public double getDex() {        return Dexterity;    }    public double getStr(){        return Strength;    }    public double getInt(){        return Intelligence;    }    public double getSta(){        return Stamina;    }    public void setDex(double dexterity) {        this.Dexterity = Dexterity;    }    public void setStr(double strength){        this.Strength = Strength;    }    public void setInt(double intelligence){        this.Intelligence = Intelligence;    }    public void setSta(double stamina){        this.Stamina = Stamina;    }    public void setSkillPoints(double skillPoints) {this.SkillPoints = SkillPoints;};}public final class PointSpender {    public static void Spend(){        SetAttributes Attribute = new SetAttributes();        Scanner SkillChoice = new Scanner(System.in);        System.out.println("What skill do you want to increase? Dex, Str, Sta, or Int?");        switch(SkillChoice.nextLine().charAt(0)){            case 'd':                System.out.println("How many points towards Dexterity?");                System.out.println("Your current Dexterity is " + Attribute.Dexterity);          double amount = SkillChoice.nextDouble();                Attribute.setDex(amount + Attribute.getDex());              System.out.println(Attribute.Dexterity);
查看完整描述

3 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

您所有的 setter 方法都遵循相同的問題(這就是為什么您應該遵循諸如 variables being 之類的約定camelCase),所以讓我們選擇其中的任何一個。


public void setSta(double stamina){

    this.Stamina = Stamina;

}

如您所見,您將類級別變量設置為Stamina等于變量Stamina。方法參數被調用stamina。所以你要設置this.Stamina的是它本身。


查看完整回答
反對 回復 2022-05-25
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

在java中變量是區分大小寫的

this.Dexterity = Dexterity;

應該

this.Dexterity = dexterity;

否則他們指的是同一個變量


查看完整回答
反對 回復 2022-05-25
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

public void setDex(double dexterity) {

    this.Dexterity = Dexterity;

}

首先,this.Dexterity = Dexterity;一定是this.Dexterity = dexterity;因為dexterity是需要賦值的變量Dexterity。而當您使用 時,實際上您正在分配的this.Dexterity = Dexterity;值 實際上是沒有意義的。DexterityDexterity


您編寫的所有 setter 方法都有相同的問題。


最后嘗試保持命名約定。


查看完整回答
反對 回復 2022-05-25
  • 3 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號