gpt4 book ai didi

java - 在方法之间传递数组并在 main 中调用它们

转载 作者:行者123 更新时间:2023-12-01 09:11:07 24 4
gpt4 key购买 nike

我想将一个数组从一个方法传递到另一个方法,并在数组上调用该方法。但是,它显示了 increaseCost() 不适用于参数的情况。我该如何修复此代码?

我正在尝试将double[]价格传递给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);
}
}

最佳答案

在主方法中,您必须从 initialize() 方法获取prices:

public static void main(String[] args) {
double[] prices = initialize();
increaseCost(prices);
}

在初始化方法中,您必须返回 prices 数组:

static double[] initialize() {
//all your code
...
return price;
}

还有一些需要注意的事项:

  • 也许可以将您的 price 变量重命名为 prices,因为它是价格列表
  • 您正在混合很多关注点(读取、打印、保持状态等),通常您应该将这些事情分开
  • 读取杂货的名称和价格可能应该是一个单独的问题,并且存在于自己的方法中,您会忘记这些名称,因为您不会以任何方式返回它们
  • for 循环的格式很奇怪,通常整个循环只占一行

还有其他事情,但这可能只是一个实验室测验。

关于java - 在方法之间传递数组并在 main 中调用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com