从2个独立的数组中获取2个不同索引的总和

问题描述 投票:0回答:2

对Java来说很新,所以请在这里请耐心等待。我必须根据学生的居民身份编写一个程序,以确定该学期的总费用。我必须使用抽象方法(单独的类),然后根据全日制和兼职时间的学费创建类。完整和兼职类必须使用数组。我可能写错了数组列表,但这是我到目前为止所做的,我需要创建一个对象“县”,以便我可以计算住在该县的学生的费用。

我如何拨打学费和资本费,将它们一起添加到索引C中?或者,如果我只为学费和资本费用为县编写一个数组,然后将它们加在一起,然后将该总数加到列出的其他成本上,会更容易吗?此外,当我尝试在县下创建对象时,它会出现错误。我将使用Radio Buttons来确定学生的居民身份是什么(不确定这是否会改变我的计算方法)。任何帮助表示赞赏。

抽象类:

package collegecost1;

public abstract class collegeAbMain {
    public abstract double tuition();
    public abstract double capitalFee();
    public abstract double accidentIns();
    public abstract double collegeFee();

    //public abstract double county();
    //public abstract double outCounty();
    //public abstract double outState();

}

全时分类:

 package collegecost1;

 public class fullTime extends collegeAbMain {
     double  C;
     double OC;
     double OS;
     double Ins;
     double fee;
     double total;


     @Override
     public double tuition() {
         double resident = 3;
         double [] tuition = new double [(int) resident];

         // I have to use the variables C, OC, and OS
         tuition[0] = C;
         C = 1571.25;

         tuition[1] = OC;
         OC = 3142.50;

         tuition[2] = OS;
         OS = 4713.75;
         return resident;
     }

     @Override
     public double capitalFee() {
         double resident = 3;
         double[] capitalFee = new double [(int) resident];

         capitalFee[0] = C;
         C = 0.00;

         capitalFee[1] = OC;
         OC = 78.00;

         capitalFee[2] = OS;
         OS = 78.00;

         return resident ;
     }

     @Override
     public double accidentIns() {
        Ins = 0.00;
        return Ins;
    }

    @Override
    public double collegeFee() {
        fee = 50.40;
        return fee;
    }

    public double county() {
     county total = new county()
    //ERROR (wants me to create class or interface for the 1st word county
    // have written objects the exact same way in other programs and never
    // had an issue. 
        {   
          //NOT THE ACTUAL CODE

                  //total = (index[0] from resident tution +
          //index [0] from resident caplitalFee)
                  //+ (Ins) + (fee);

              return total();
        }

    }
}
java arrays abstract
2个回答
0
投票

完整和兼职类必须使用Array

我将使用Radio Buttons来确定学生的居民身份

您还没有足够的解释让我们知道您的方法应该如何操作,或者它们意味着“类必须使用数组”。但是,由于您要输入“以确定学生的居民身份是什么”,大概您必须告诉某个对象您感兴趣的县,以便它能够提供正确的信息。所以对象状态涉及每个县的信息。这表明数组代表对象状态。还必须有一些方法来输入该信息。 (虽然不一定是通过您列出的四种方法的所有用户都可以访问的接口/对象以及给出他们要报告的县的方法。)您似乎并不清楚自己应该做什么。所以找出来。


0
投票

您不需要此作业的数组。在你的代码中,你总是返回resident而不是数组。尝试这样的事情:

public double tuition(String s) {

    double acc = 0;

    if (s.equals("C")) {
        acc = 1571.25;
    } else if (s.equals("OC")) {
        acc = 3142.50;
    } else if (s.equals("OS")) {
        acc = 4713.75;
    } else {
        throw new IllegalArgumentException("Enter C, OC or OS!");
    }
    return acc;

}

public double capitalFee(String s) {

    double acc = 0;

    if (s.equals("C")) {
        acc = 0.00;
    } else if (s.equals("OC") || s.equals("OS")) {
        acc = 78.00;
    } else {
        throw new IllegalArgumentException("Enter C, OC or OS!");
    }
    return acc;

}

public double accidentIns() {
    double ins = 0.00;
    return ins;
}

public double collegeFee() {
    double fee = 50.40;
    return fee;
}

public double county(String a, String b) {
    return tuition(a) + capitalFee(b) + accidentIns() + collegeFee();

}

你不能做county total = new county()。您正在尝试创建方法的对象。你需要一个名为classCounty和一个构造函数来做到这一点。

这里有一个数组示例:

public double[] tuition() {

    double[] tuition = new double[3];

    double C = 1571.25;
    tuition[0] = C;

    double OC = 3142.50;
    tuition[1] = OC;

    double OS = 4713.75;
    tuition[2] = OS;

    return tuition;

}

public double[] capitalFee() {

    double[] capitalFee = new double[3];

    double C = 0.00;
    capitalFee[0] = C;

    double OC = 78.00;
    capitalFee[1] = OC;

    double OS = 78.00;
    capitalFee[2] = OS;

    return capitalFee;
}

public double accidentIns() {
    double ins = 0.00;
    return ins;
}

public double collegeFee() {
    double fee = 50.40;
    return fee;
}

public double county(String s) {
    double result = 0;
    double[] tuition = tuition();
    double[] capitalFee = capitalFee();
    if (s.equals("C")) {
        result = tuition[0] + capitalFee[0] + accidentIns() + collegeFee();
    } else if (s.equals("OC")) {
        result = tuition[1] + capitalFee[1] + accidentIns() + collegeFee();
    } else if (s.equals("OS")) {
        result = tuition[2] + capitalFee[2] + accidentIns() + collegeFee();
    } else {
        throw new IllegalArgumentException("Enter C, OC or OS!");
    }
    return result;

}
© www.soinside.com 2019 - 2024. All rights reserved.