主要方法不打印要返回的数字

时间:2016-01-15 02:07:31

标签: java

我试图在非静态数组方法上调用main方法。在计算最小间隙之后,将通过main方法返回并打印该数字,但在输入数组的数字后没有任何事情发生。有人能告诉我出了什么问题吗?

public class Lab1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println("How many elements would you like the array to have?");
        Scanner input = new Scanner(System.in);
        int arraySize = input.nextInt();
        int value[] = new int[arraySize];

        System.out.println("Enter numbers for the array.");
        for (int i = 0; i < value.length; i++) {
            value[i] = input.nextInt();
            Lab1 lab1 = new Lab1();
            lab1.minGap(value);
        }
    }

    public int minGap(int[] value) {
        if (value.length < 2)
            return 0;
        int minGap = value[1] - value[0];
        for (int i = 2; i < value.length; i++) {
            int gap = value[i] - value[i - 1];
            if (gap < minGap)
                minGap = gap;
        }
        return minGap;
    }
}

2 个答案:

答案 0 :(得分:2)

  • 您调用了计算for循环内最小数的方法。但是你需要它返回的值。您必须调用该方法,然后打印出返回的值 那种方法。
  • 您还需要在for循环外初始化对象。

这是您的主要方法代码的样子:

UITextField *result = [[UITextField alloc] init];
result.editable = NO; // error here

答案 1 :(得分:0)

你永远不会打印你的价值。将其输出到控制台或应用程序。它正在返回,但除非您以某种方式输出,否则它不会对最终用户可见。

System.out.println(ReturnedVal);