我想将一个数组从一个方法传递给另一个方法并在数组上调用该方法。但是,它显示increaseCost()
不适用于参数的位置。我该如何修复此代码?
我正在尝试将double[] price
传递给increaseCost()
:
import java.util.*;
public class LabQuiz3 {
public static void main(String[] args) {
initialize();
increaseCost();
}
static void initialize() {
String[] name=new String[10];
System.out.println("Name of the grocery? ");
Scanner scan=new Scanner(System.in);
for (int i=0; i < 10; i++) {
String a = scan.next();
name[i]=a;
}
scan.close();
double[] price=new double[10];
System.out.println("Price of each grocery? ");
Scanner sc=new Scanner(System.in);
for (int j=0; j < 10; j++) {
double b=sc.nextDouble();
price[j]=b;
}
sc.close();
}
static void increaseCost(double[] price) {
for (int c=0; c <10; c++) {
double k=price[c] * .07;
price[c]=k;
}
System.out.println(price);
}
}
答案 0 :(得分:1)
在您的主要方法中,您必须从prices
方法获取initialize()
:
public static void main(String[] args) {
double[] prices = initialize();
increaseCost(prices);
}
在initialize方法中,您必须返回prices
数组:
static double[] initialize() {
//all your code
...
return price;
}
其他一些要评论的内容:
price
变量重命名为prices
,因为它是一个价格列表还有其他的东西,但它可能只是一个实验室测验。