如何从if-else语句中添加信息到数组Java



我是Java新手,目前,我正在学习数组和循环。我的家庭作业有一个有趣的任务。

编写一个程序,将传递的每个价格相乘:

如果商品价格低于1000,则减2。如果商品价格大于或等于1000,则按1.5。

任务:

写入方法public void multiple prices (float [] prices)。它接受一个价格数组,如果价格小于1000,则将每个价格乘以2,如果价格大于或等于1000,则乘以1.5。

测试示例:

用数据[100, 1500]调用multiplyPrices(),应将传输阵列改为[200, 2250]

我被困在这里=(

我写了一段代码,接受一个数组,将其转换为浮点数,接受它的值,并用if-else语句检查它,唯一的问题是我不知道如何把它放回去。

我的同学说,看起来好像我计算了正确的值,并立即在控制台中显示它们,而不改变价格数组的数据。最后的程序显示数组的值,这就是我得到这样一个结果的原因。不需要将x1x3打印到控制台,我需要将x1x3保存在索引i下的价格数组中。然后,在检查任务时,"正确";

但是这怎么能做到呢?不幸的是,使用if-else,既不能向后提取数据,也不能向前提取数据。

你能给点建议吗?

提前感谢!

import java.util.Arrays;
public class QuadraticEquationSolver {

public void multiplyPrices(float[] prices) {

for (int i = 0; i < prices.length; i++) {           
float season = prices[i];

if (season >= 1000) {   
float x1 = season * 1.5f;
float x2 [] = new float[] {x1};
System.out.print(Arrays.toString(x2));

} else if (season < 1000 ) {
float x3 = season * 2f;
float x4 [] = new float[] {x3};
System.out.print(Arrays.toString(x4));
}   
}
}

public static void main(String[] args) {
QuadraticEquationSolver shop = new QuadraticEquationSolver();
//Should be [200, 2250]
float[] prices = new float[] {100f, 1500f};
shop.multiplyPrices(prices);
System.out.println(Arrays.toString(prices));
}
}

试试下面的代码:

import java.util.Arrays;
public class QuadraticEquationSolver {
public void multiplyPrices(float[] prices) {
for (int i = 0; i < prices.length; i++) {
if (prices[i] < 1000)
prices[i] = prices[i] * 2;
else
prices[i] = (float) (prices[i] * 1.5);
}
}
public static void main(String[] args) {
QuadraticEquationSolver shop = new QuadraticEquationSolver();
//Should be [200, 2250]
float[] prices = new float[] {100f, 1500f};
shop.multiplyPrices(prices);
System.out.println(Arrays.toString(prices));
}
}

在这里阅读更多java数组

最新更新