0

我必须制作一个程序,它为每个部分使用不同的类。对于第一类:Quest1,我计算了人口的增长率。第二类:Quest2,我必须将增长存储到一个数组中,我有问题,我该怎么做?

public class Quest1 {

public double pop, rate;
public int day;

public void setPop(double population)
{
    pop = population;
}
public double getPOP()
{
    return pop;
}
public void setRate(double rates)
{
    rate = rates;
}
public double getRate()
{
    return rate;
}
public void setDay(int days)
{
    day = days;
}
public double getDays()
{
    return day;
}

public double getNew(double pop, int day, double rate)
{
    double popul, population = 0;
    for (double i = 0; i < day; i++)
    {
        popul = pop + (pop * rate/100);
        population = day*popul;
    }
    return population;
}

}

public class Main {


public static void main(String[] args) throws IOException{
    Scanner kd = new Scanner(System.in);
    Quest1 a = new Quest1();
    Quest2 b = new Quest2();

    double tempPop, tempRate; int tempDay;


    System.out.println("Enter Population: ");
    tempPop = kd.nextDouble();
    a.setPop(tempPop);

    System.out.println("Enter Days: ");
    tempDay = kd.nextInt();
    a.setDay(tempDay);


    System.out.println("Enter Rate: ");
    tempRate = kd.nextDouble();
    a.setRate(tempRate);


    b.storeArray();
}



public class Quest2 {


Quest1 a = new Quest1();

public void storeArray(){
    double scores [] = new double[(int) a.getDays()];
    for(int i = 0; i < a.getDays(); i++)
    {
        scores[i] = a.getNew(a.getPOP(), i+1, a.getRate()); 
        System.out.println(scores[i]);
    }
    return;
}
4

2 回答 2

1

我认为您需要将 quest1 对象传递给 quest2 类。

b.storeArray(a);

您正在 quest2.so 中创建 Quest1 的新对象,因此不会计算增长。在 quest2 类中修改。

public void storeArray(Quest1 a){..}

希望你问这个。

于 2013-05-21T18:10:55.940 回答
0

如果你想将一个数组从一个类传递到另一个类,如果它是一个 servlet,你可以使用下面的。

request.setAttribute("name", arrayListName);
rd = request.getRequestDispatcher(classname);
rd.forward(request,response);

然后在另一个班级拿起它

ArrayList namelist=(ArrayList)request.getAttribute("name");

这就是你所追求的吗?

否则下面还有另一个类似的问题。

将数组从 A 类传递到 B 类

于 2013-05-21T18:01:48.207 回答