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

标签 java arrays

我想将一个数组从一个方法传递到另一个方法,并在数组上调用该方法。但是,它显示了 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/

相关文章:

java - 变量内容(String)访问JCheckBox的方法

Java:如何创建最终子数组?

javascript - Javascript 中的埃拉托色尼筛法?

arrays - fscanf 一个数字并将每个数字存储在数组中

来自命令行的 javax.swing.JDialog.setAutoRequestFocus 的 Java NoSuchMethodError

java - 找不到 org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider 提供程序类

java - 在 Java 中对数组进行排序

java - 停止接收所有 ActionEvents/停止在 Java 中监听一段时间?

java - 是否可以在 spring 中默认为类型使用自定义序列化器/反序列化器?

arrays - 对象数组上的 MongoDb 投影,仅获取匹配的对象