【问题标题】:How do I pass int values from one method to another如何将 int 值从一种方法传递到另一种方法
【发布时间】:2014-08-14 05:54:36
【问题描述】:

我试图找到数组 int [] 次的最低时间(以分钟为单位),但我不知道如何使第二种方法起作用;我没有得到任何输出。

public static void main(String[] arguments) {
    String[] names = { "Elena", "Thomas", "Hamilton", "Suzie", "Phil",
            "Matt", "Alex", "Emma", "John", "James", "Emily", "Daniel",
            "Neda", "Aaron", "Kate" };
    int[] times = { 321, 273, 278, 329, 445, 402, 388, 275, 243, 334, 412,
            393, 299, 343, 317, 265 };
    for (int i = 0; i < names.length; i++)
        System.out.println(names[i] + ":" + times[i]);
}

我不知道它缺少什么,但我知道我应该得到以分钟为单位的最短时间:即 243(int [] 次)。我“相信”我需要将 int 时间值从第一种方法传递给第二种方法......因为我觉得第二种方法数组是空的。但是,那个,我不知道该怎么做。帮助?

public static int getMinIndex(int[] values) {
    int minValue = Integer.MAX_VALUE;
    int minIndex = -1;
    for (int i = 0; i < values.length; i++)
        if (values[i] < minValue) {
            minValue = values[i];
            minIndex = i;
        }
    return minIndex; //not returning anything. 
}

【问题讨论】:

  • 你在哪里调用方法?
  • 你似乎没有从你的 main 方法中调用你的 getMinIndex 方法

标签: java arrays loops return-value min


【解决方案1】:

你的程序的逻辑是: 1. 声明一个名称数组。 2. 声明一个时间数组。 3. 通过循环将名称和时间写入控制台。

您还编写了一个方法来检索 int 数组中的最小值, 但是您没有将其包含在您的程序中,该程序从 main 方法的第一行开始。

所以第一个问题是,您想在哪里使用最小值。 第二个问题是,你想用最小值做什么。

假设你想在控制台上显示最小值, 简单地写:

System.out.println(getMinValue(times));

这样方法的返回值作为参数传递给 System.out 的静态方法,假设你想做别的事情,把它传递给另一个接受 int 数组的方法。

【讨论】:

  • 我写了getMinValue,OP 写了getMinIndex
  • 是的,我注意到了,但是在我发我的帖子之前我没有看到你的帖子,谢谢你指出这一点。
  • 大家好!感谢您抽出宝贵时间回答。它有帮助!我现在明白了。
【解决方案2】:

把这个写在你的主方法中

int min_index = getMinIndex(times);

您忘记调用方法。这里min_index 包含你必须从方法返回的整数值。

【讨论】:

    【解决方案3】:

    首先,我建议你真的想要一个getMinValue(int... arr)

    public static int getMinValue(int... values) {
      // Handle null and the empty array
      if (values == null || values.length < 1) {
        return -1;
      }
      // start at the first element
      int minValue = values[0];
      for (int i = 1; i < values.length; i++) {
        if (values[i] < minValue) {
          minValue = values[i];
        }
      }
      // return the minimum value
      return minValue;
    }
    

    然后你会调用它

    public static void main(String[] args) {
      System.out.println(getMinValue(4, 0, 2, 3));
      int[] arr = { 5, 6, 7, 8, 3, 2 };
      System.out.println(getMinValue(arr));
    }
    

    输出是

    0
    2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 2018-12-24
      • 2022-11-29
      相关资源
      最近更新 更多