如何将 if-else 语句中的信息添加到数组 Java
How to add information from if-else statements to an array 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 语句检查它,唯一的问题是我不知道如何把它放回去。
我同学说好像我计算出正确的值并立即将它们显示在控制台中而不更改价格数组的数据。
最后的程序显示了数组的值,这就是为什么我得到这样的结果。
不需要将 x1
和 x3
打印到控制台,我需要将 x1
和 x3
保存在索引 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 数组的更多信息 here
我是 Java 的新手,目前,我正在学习数组和循环。 我的作业中有一个有趣的任务。
编写一个程序,乘以每个通过的价格:
商品价格低于1000减2。 商品价格大于等于1000按1.5计算
任务:
编写方法public void multiple prices (float [] prices)
。
它需要一个价格数组,如果价格小于 1000,则将每个价格乘以 2,如果价格大于或等于 1000,则乘以 1.5。
测试示例:
使用数据 [100, 1500]
调用 multiplyPrices()
应将传输的数组更改为 [200, 2250]
。
我卡在这里=(
我写了一段代码,接受一个数组,将其转换为浮点数,获取它的值,并用 if-else 语句检查它,唯一的问题是我不知道如何把它放回去。
我同学说好像我计算出正确的值并立即将它们显示在控制台中而不更改价格数组的数据。
最后的程序显示了数组的值,这就是为什么我得到这样的结果。
不需要将 x1
和 x3
打印到控制台,我需要将 x1
和 x3
保存在索引 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 数组的更多信息 here