【问题标题】:boolean from array - function in java, input from command line来自数组的布尔值 - java 中的函数,从命令行输入
【发布时间】:2020-12-10 12:49:52
【问题描述】:

我有一个问题,从命令行读取N 数字,我想检查所有这些数字是否相同。

这是我的代码

class q2 {
    public static boolean check(int[] arr) { 
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 1; j < arr.length; j++) {
                if (arr[i]==arr[j]) return false;
            }
        }
        return true;
    }
    public static void main(String[] args) {   
        int[] arr = new int[args.length];
        boolean result = check(arr);
        System.out.println(result);
    }
}

但无论如何(但根本没有输入)它返回 false,我不知道错误在哪里。

【问题讨论】:

    标签: java arrays function


    【解决方案1】:

    如果您从命令行传递值,则需要将这些值添加到您将传递给check 方法的数组中:

    public static void main(String[] args) {
        int[] arr = new int[args.length];
        for(int i = 0; i < arr.length; i++){
            arr[i] = Integer.parseInt(args[i]);
        }
        boolean result = check(arr);
        System.out.println(result);
    }
    

    您可以简化您的 check 方法,例如你不需要双循环。只需将当前元素与下一个元素进行比较,如下所示:

    public static boolean check(int[] arr) {
        for (int i =0;i<arr.length-1;i++)
            if (arr[i] != arr[i + 1])
               return true;
       return false;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-03
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 2021-03-26
      • 1970-01-01
      • 2015-06-05
      相关资源
      最近更新 更多