2016-02-19 79 views
3

以下是我一直在做的二進制計算器,但是當我嘗試運行它時,我得到了「實際和形式參數列表長度不同」的錯誤,而且我沒有知道如何解決它。我不能確定,但​​它看起來像試圖傳遞兩個數組到不同的方法來添加元素在一起的問題。謝謝!實際和形式參數列表長度差異不一致

public static void binaryConvert1 (int x) 
{ 


    int a = 0; 
    int b = 0; 
    int c = 0; 
    int d = 0; 
    int e = 0; 
    int f = 0; 
    int g = 0; 
    int h = 0; 


    double y = (int) x % 2; 

    int array [ ] = new int [8]; 
    array [0] = h; 
    array [1] = g; 
    array [2] = f; 
    array [3] = e; 
    array [4] = d; 
    array [5] = c; 
    array [6] = b; 
    array [7] = a; 

    int length = array.length; 

    for (int i = 0; i < length; i++) 
    { 
     System.out.print(array [ i ] + " "); 
    } 

    addBinary(array); 
} 

public static void binaryConvert2 (int z) 
{ 


    int j = 0; 
    int k = 0; 
    int l = 0; 
    int m = 0; 
    int n = 0; 
    int o = 0; 
    int p = 0; 
    int q = 0; 


    double y = (int) z % 2; 
int arraytwo [ ] = new int [8]; 
    arraytwo [0] = q; 
    arraytwo [1] = p; 
    arraytwo [2] = o; 
    arraytwo [3] = n; 
    arraytwo [4] = m; 
    arraytwo [5] = l; 
    arraytwo [6] = k; 
    arraytwo [7] = j; 

    int length = arraytwo.length; 

    for (int i = 0; i < length; i++) 
    { 
     System.out.print(arraytwo [ i ] + " "); 
    } 

    addBinary(arraytwo); 
} 

private static void addBinary(int [] array, int [] arraytwo) 
{ 
    int[] c = new int[8]; 
    for (int i = 0; i < 7; ++i) { 
     c[i] = array[i] + arraytwo[i]; 

     if (c[0] == 2) 
     { 
      c [0] = 0; 
      c [1] += 1; 
     } 
     if (c[1] == 2) 
     { 
      c [1] = 0; 
      c [2] += 1; 
     } 
     if (c[2] == 2) 
     { 
      c [2] = 0; 
      c [3] += 1; 
     } 
     if (c[3] == 2) 
     { 
      c [3] = 0; 
      c [4] += 1; 
     } 
     if (c[4] == 2) 
     { 
      c [4] = 0; 
      c [5] += 1; 
     } 
     if (c[5] == 2) 
     { 
      c [5] = 0; 
      c [6] += 1; 
     } 
     if (c[6] == 2) 
     { 
      c [6] = 0; 
      c [7] += 1; 
     } 
     if (c[7] == 2) 
     { 
      System.out.println("ERROR - FINAL NUMBER IS TOO LARGE."); 
     } 

     System.out.print("Added binary numbers: " + c[i] + " "); 
    } 
} 
+1

我假設它爲您提供了在線信息的實際堆棧跟蹤。你能告訴我們它抱怨什麼確切的路線嗎? – pczeus

回答

0

您正在對addBinary()方法進行多次調用。 但是,該方法需要2個參數,並且在對該方法的每次調用中,您只提供1個參數,因此是錯誤。

例如:

addBinary(arraytwo); 
相關問題