我试图在数组中加倍。问题是我必须存储数组中用户输入的结果。例如,我向用户询问初始人口,第一天和增加率。然后计算人口的增长。我的意思是存储阵列中的人口增长,任何人都可以帮忙吗?卡住。 继承我的代码:
public static void main(String[] args) {
Scanner kd = new Scanner(System.in);
double tempPop, tempRate;
int tempDay;
double growth;
System.out.println("Enter Population: ");
tempPop = kd.nextDouble();
System.out.println("Enter Days: ");
tempDay = kd.nextInt();
System.out.println("Enter Rate: ");
tempRate = kd.nextDouble();
final double SCORES = tempDay;
double scores [] = new double[(int) SCORES];
for(int i = 0; i < SCORES; i++)
{
scores[i] = getRate(tempPop, tempDay, tempRate);
System.out.println(scores[i]);
}
}
public static double getRate(double tempPop, int tempDay, double tempRate)
{
double popul, pops = 0;
for (double day = 0; day <= tempDay; day++)
{
popul = tempPop + (tempPop * tempRate/100);
pops = day*popul;
}
return pops;
}
}
这是我的输出:(仅示例)
Enter Population:
10
Enter Days:
2
Enter Rate:
3
10.3
10.3
答案 0 :(得分:0)
您正在阅读tempPop
,tempDay
,tempRate
一次并且永远不会更改它们。因此,循环中getRate
的返回值将始终相同。
我不确切地知道你想要实现什么,但我认为你必须根据循环中的先前计算改变至少一个参数。
答案 1 :(得分:0)
double scores [] = new double[tempDay];
for(int i = 0; i < tempDay; i++) {
scores[i] = getRate(tempPop, i + 1, tempRate);
System.out.println(scores[i]);
}
这样,使用以下示例数据,输出将为:
Enter Population:
10
Enter Days:
2
Enter Rate:
3
10.3
20.6
答案 2 :(得分:-1)
摆脱final double SCORES
并直接使用tempDay
获取scores
的大小和for
循环中的停止参数。