[英]how can i return and increment in the same for-loop in java
我遇到了这样一个问题,如果我增加 for 循环,我的程序会在 for 循环执行后崩溃,但如果我不增加 for 循环并使用 return 语句返回projectedSales
我的程序将继续运行.
但是,如果我不加那么projectedSales
只输出过去数projectedSales1
不将其加入projectedSales
。
所以我的问题是,我如何增加 for 循环,以便projectedSales = projectedSales + projectedSales1
继续收集数据并在最后返回projectedSales
?
Scanner input = new Scanner(System.in);
double projectedRevenue2025 = 0;
double projectedSales1 = 0;
double projectedSales = 0;
double baseSales;
double growthRate;
double numberOfYears;
int [] productPrice = {1825, 670, 880, 1910, 485};
DecimalFormat df = new DecimalFormat("#");
for (double i = 0; i <= 4;) {
System.out.println("What is the base sale?");
baseSales = input.nextDouble();
System.out.println("What is the growth rate?");
growthRate = input.nextDouble();
System.out.println("What is the expected number of years?");
numberOfYears = input.nextDouble();
//calculates the projected sales of the upcoming years
projectedSales1 = baseSales * (Math.pow((1 + (growthRate / 100)), numberOfYears));
System.out.println("The projected sale is: " + df.format(projectedSales1));
//this should store data from projectedSales1 into projectedSales and add it to the previous data
projectedSales = projectedSales + projectedSales1;
projectedRevenue2025 = (projectedSales1 * productPrice[(int) i]) + projectedRevenue2025;
System.out.println("The total projected revenue is: $" + df.format(projectedRevenue2025)); //prints total projected revenue
return projectedSales;
} //close for-loop
input.close();
return projectedSales;
} //closes projSales
附注。 input.close()
后面的return语句是将projectedSales
返回给main方法
编辑:我应该对这个程序进行硬编码。 我的问题是循环开始时的输入语句。 谢谢大家,我真的很感谢你们花时间提供帮助。
我建议您在您的情况下使用这样的 for 循环:
for (int i = 0; i < 5; i++) {
// Do your input and previous calculations
projectedRevenue2025 = (projectedSales1 * productPrice[i]) + projectedRevenue2025;
}
我还建议您避免将变量命名为var, var1, var2, var2025
尝试添加 i++ 代码是这样的
for (double i = 0; i <= 4; i++) {
//code goes here
}
如果您取出循环中的 return 语句并增加 for 循环,那么它应该每次都收集数据,然后在最后返回所有数据的总和
Scanner input = new Scanner(System.in);
double projectedRevenue2025 = 0;
double projectedSales1 = 0;
double projectedSales = 0;
double baseSales;
double growthRate;
double numberOfYears;
int [] productPrice = {1825, 670, 880, 1910, 485};
DecimalFormat df = new DecimalFormat("#");
for (double i = 0; i <= 4; i++) {
System.out.println("What is the base sale?");
baseSales = input.nextDouble();
System.out.println("What is the growth rate?");
growthRate = input.nextDouble();
System.out.println("What is the expected number of years?");
numberOfYears = input.nextDouble();
//calculates the projected sales of the upcoming years
projectedSales1 = baseSales * (Math.pow((1 + (growthRate / 100)), numberOfYears));
System.out.println("The projected sale is: " + df.format(projectedSales1));
//this should store data from projectedSales1 into projectedSales and add it to the previous data
projectedSales = projectedSales + projectedSales1;
projectedRevenue2025 = (projectedSales1 * productPrice[(int) i]) + projectedRevenue2025;
System.out.println("The total projected revenue is: $" + df.format(projectedRevenue2025)); //prints total projected revenue
} //close for-loop
input.close();
return projectedSales;
} //closes projSales
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.