Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java从单独的类中加载int_Java_Arrays_Integer - Fatal编程技术网

Java从单独的类中加载int

Java从单独的类中加载int,java,arrays,integer,Java,Arrays,Integer,好的,我现在正在编写一个程序,它从一个JTextField中获取信息,并将它乘以一定的量,这是基于用该按钮设置的类中double的设置。单击按钮时,我想从分配给它的类文件中检索一个int。但我想把它们分配给所有人。这真的很难解释,但基本上现在我必须把它们全部硬编码。这是当前代码: public void actionPerformed(ActionEvent e) { System.out.println("Clicked: " + getButtonName()); if

好的,我现在正在编写一个程序,它从一个JTextField中获取信息,并将它乘以一定的量,这是基于用该按钮设置的类中double的设置。单击按钮时,我想从分配给它的类文件中检索一个int。但我想把它们分配给所有人。这真的很难解释,但基本上现在我必须把它们全部硬编码。这是当前代码:

public void actionPerformed(ActionEvent e) 
{
    System.out.println("Clicked: " + getButtonName());

    if (Settings.SelectedChamp == "Aatrox") {

        TestFrame.PNameField.setText(ChampionScales.PNameAatrox);
        TestFrame.QNameField.setText(ChampionScales.QNameAatrox);
        try {
            int QMath = (int) Double.parseDouble(TestFrame.AttackDamageField.getText());
            System.out.println(ChampionScales.QBaseDamageAatrox[0] + "/"
                    + ChampionScales.QBaseDamageAatrox[1] + "/"
                    + ChampionScales.QBaseDamageAatrox[2] + "/"
                    + ChampionScales.QBaseDamageAatrox[3] + "/"
                    + ChampionScales.QBaseDamageAatrox[4] + "(+" + QMath
                    * 0.6 + ")");
        } catch (Exception e1) {
            int QMath = 0;
            System.out.println(ChampionScales.QBaseDamageAatrox[0] + "/"
                    + ChampionScales.QBaseDamageAatrox[1] + "/"
                    + ChampionScales.QBaseDamageAatrox[2] + "/"
                    + ChampionScales.QBaseDamageAatrox[3] + "/"
                    + ChampionScales.QBaseDamageAatrox[4] + "(+" + QMath
                    * 0.6 + ")");
        }
    }
}
在这里,我这样做,如果你点击Aatrox的按钮,它会做的数学和输入到控制台的所有。但是我也为这些INT设置了一个完整的类。在这里:`

public class Aatrox 
{
    public static String PName = "Blood Well";

    public String QName = "Dark Flight";
    public int QBaseDamage[] = { 70, 115, 160, 205, 250 };
    public double QScalingAD = .6;
    public double QScalingAP = 0;
    public String QADDamageStyle = "Bonus";

    public String WName = "Blood Thirst";
    public int WBaseDamage[] = { 20, 25, 30, 35, 40 };
    public double WScalingAD = 1;
    public double WScalingAP = 0;
    public String WADDamageStyle = "Bonus";

    public String W2Name = "Blood Price";
    public int W2BaseDamage[] = { 60, 95, 130, 165, 200 };
    public double W2ScalingAD = 1;
    public double W2ScalingAP = 0;
    public String W2ADDamageStyle = "Bonus";

    public String EName = "Blades of Torment";
    public int EBaseDamage[] = { 75, 110, 145, 180, 215 };
    public double EScalingAD = .6;
    public double EScalingAP = .6;
    public String EADDamageStyle = "Bonus";

    public String RName = "Massacre";
    public int RBaseDamage[] = { 200, 300, 400 };
    public double RScalingAD = 0;
    public double RScalingAP = 1;
    public String RADDamageStyle = null;

}
所以我希望能够为每个冠军制作一个这样的文件,并保留所有相同的名字。问题是。。如果不需要硬编码Aatrox.QScalingAD,我怎么称呼冠军的INT和东西;或者Teemo.EScalingAP;?我怎么能做到这一点呢?谢谢你的帮助。我被难住了哈哈`

    You make a base class which you fill with your common stuff:

class BaseClass
{
    public static String PName = "Blood Well";

    public String QName = "Dark Flight";
    public int QBaseDamage[] = { 70, 115, 160, 205, 250 };
    public double QScalingAD = .6;
    public double QScalingAP = 0;
    public String QADDamageStyle = "Bonus";

    public String WName = "Blood Thirst";
    public int WBaseDamage[] = { 20, 25, 30, 35, 40 };
    public double WScalingAD = 1;
    public double WScalingAP = 0;
    public String WADDamageStyle = "Bonus";

    public String W2Name = "Blood Price";
    public int W2BaseDamage[] = { 60, 95, 130, 165, 200 };
    public double W2ScalingAD = 1;
    public double W2ScalingAP = 0;
    public String W2ADDamageStyle = "Bonus";

    public String EName = "Blades of Torment";
    public int EBaseDamage[] = { 75, 110, 145, 180, 215 };
    public double EScalingAD = .6;
    public double EScalingAP = .6;
    public String EADDamageStyle = "Bonus";

    public String RName = "Massacre";
    public int RBaseDamage[] = { 200, 300, 400 };
    public double RScalingAD = 0;
    public double RScalingAP = 1;
    public String RADDamageStyle = null;
}

class Aatrox extends BaseClass 
{
    //Do Aatrox-specific stuff here!
}

class xyz extends BaseClass 
{
    //Do xyz-specific stuff here
}

通过“扩展”,Aatrox和xyz都具有类BaseClass的所有功能。

因此我想出了一个主意。这里写的是一个例子:System.out.PrintLChampionScales.QBaseDamage+ButtonName+[1];不管怎样,如果我将printline消息的内容转换成字符串,是否可以将字符串转换成代码行?