java中的函数,从命令行输入

wnvonmuf  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(385)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

上个月关门了。
改进这个问题
我有个问题,上面写着 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);
    }
}

但在任何情况下(但没有任何输入),它返回假,我不知道哪里是错误的。

ohfgkhjo

ohfgkhjo1#

如果要从命令行传递值,则需要将这些值添加到将传递到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);
}

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

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;
}

相关问题