2014-02-17 110 views
0

我正在編寫一個程序,它允許用戶爲數組放置它們自己大小的列和行。我正在使用雙打,以便用戶可以使用小數。但是,我得到這個錯誤告訴我,我不能將雙精度轉換爲整數。我不明白爲什麼。我正在使用eclipse。我在main方法之前聲明瞭數組,以便我可以在整個程序中自由使用它的方法。聲明雙二維數組的問題

import java.util.*; 

public class array 
{ 


private double themainarray[][]; 
Scanner input = new Scanner(System.in); 
private double columnsize; 
private double rowsize; 


    public static void main(String[] args) 
    { 
     System.out.print("Welcome!"); 

    } 


    //Below on the last line of the method is where I am getting the error from eclipse. 


    public void arrayDimensions() 
    { 
     System.out.println("How many columns would you like?"); 
     columnsize = input.nextDouble(); 
     System.out.println("How many rows would you like?"); 
     rowsize= input.nextDouble(); 
     themainarray= new double [rowsize][columnsize]; 


    } 




} 
+1

數組的維數不能是雙倍的。它必須是int。 –

+0

所以我可以聲明一個double數組,但變量必須是int?這就說得通了。 – munchschair

+0

您可以聲明一個包含double值的double數組,但數組的維數必須爲int。數組必須用int值進行索引。 –

回答

0

數組大小變量只能是int類型。其他是不允許的。

在您的代碼rowSize,columnSize應該是int類型。

+0

我改變了它,但現在它告訴我,我的數組沒有被使用,我是否正確更改索引? – munchschair

+1

@munchschair現在它是一個警告不是一個錯誤。你現在可以運行它..或實現你的剩餘邏輯。 – Prabhaker

0

您需要一個int來調整數組大小。

private double themainarray[][]; 
Scanner input = new Scanner(System.in); 
private int columnsize; 
private int rowsize; 

然後當從用戶讀取輸入時使用nextInt();