用户输入长度和数组成员,两个数组

时间:2014-10-28 11:08:41

标签: java arrays console

我需要从控制台获取两个1-D阵列以进行比较练习。用户输入的第一个数字被指定为数组的长度。

当我尝试提交第二个数组的数字时,我的代码会抛出错误。 谢谢!


 public static boolean Equals( int [] list1, int[] list2)
    {
        if( list1.length != list2.length) return false;

        for (int i = 0; i < list1.length ; ++i)
            if  (list1[i] != list2[i] ) return false;

        return true;
    }    
    public static void main (String[]args)
    {
           Scanner input = new Scanner( System.in);
        //Prompt user for input

           int[] list1 = null, list2 = null;


            System.out.print("Enter list1: ");
            int x = input.nextInt();
            int []length = new int [x];
            for (int i = 0; i < list1.length ; i++) {
                x += list1[i];
            System.out.print("Enter list2: ");
            for (int j = 0; j < list2.length; j++) {
                x += list2[j];
            }


    if ( Equals (list1, list2))
        System.out.print("Two lists are strictly identical");
    else
        System.out.print("Two lists are not strictly identical");


}

1 个答案:

答案 0 :(得分:0)

  • 您引用list1list2时未指定null以外的值,因此您应该在此行获得NullPointerException

    for (int i = 0; i < list1.length ; i++) {
    
  • 其次,不要使用自定义equals方法(并在方法命名上观察Java code conventions - Java!= C#)。 请改用Arrays.equals