如何将int值从一个方法传递到另一个方法

时间:2014-06-24 05:05:05

标签: java arrays loops return-value min

我试图找到数组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 []次)。我相信&#34;我需要将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. 
}

3 个答案:

答案 0 :(得分:0)

将此内容写入主要方法

int min_index = getMinIndex(times);

你忘了打电话给方法。这里min_index包含您必须从方法返回的整数值。

答案 1 :(得分:0)

首先,我建议你真的想要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

答案 2 :(得分:0)

您的计划的逻辑是: 1.声明一系列名称。 2.声明一系列次数。 3.通过循环将名称和时间写入控制台。

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

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

假设您要在控制台上显示最小值, 简单地写一下:

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

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