我必须制作一个程序,为每个部分使用不同的类。对于第一类: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;
}
答案 0 :(得分:1)
我认为你需要将quest1对象传递给quest2类。
b.storeArray(a);
您正在quest2.so中创建Quest1的新对象,该对象不会计算增长。 在quest2类中修改。
public void storeArray(Quest1 a){..}
希望你这么问。
答案 1 :(得分:0)
如果你想将一个数组从一个类传递到另一个类,你可以使用下面的一个servlet。
request.setAttribute("name", arrayListName);
rd = request.getRequestDispatcher(classname);
rd.forward(request,response);
然后用
在另一个班级上学习ArrayList namelist=(ArrayList)request.getAttribute("name");
这就是你追求的目标吗?
否则下面会有另一个类似的问题。