2014-05-20 22 views
-3

我試着顯示從類Taxi數組使用類沒有「擴展」的地方。即時通訊我試圖傳遞一個字符串數組,但我仍然無法正確地得到它

public class Testing { 

    public static void main(String[] args) { 

     //creating obj of Taxi 
     Taxi objTaxi = new Taxi(); 

     //creating obj of Place 
     Place objPlace = new Place(); 
     objPlace.displaySomething(objTaxi); 
    } 
} 

class Taxi { 

    String[] aaa = {"aaa", "bbb", "ccc"}; 

    //public String getAAA() { 

    // return aaa; 
    //} 
} 

class Place { 

    public void displaySomething(Taxi aaa) { //initialize obj of Taxi 

我聲明瞭一個String類型的數組來保存從obj發送到這個方法的數據。 但它給了我錯誤說「不兼容的類型」「required = String []」「找到出租車」。

 String[] array = aaa; //Cannot assign array in aaa to the array. 

     //print all info in the array 
     for(int i = 0; i < array.length; i++) { 

     System.out.println(array[i]); 
     } 

     //System.out.println("string from Taxi : " + aaa.getAAA()); 
    } 
} 
+4

提示:解釋你正在試圖做更詳細的,然後問一個問題。 – csmckelvey

+2

怎麼了?問題在哪裏? –

+1

轉儲你的代碼並且說它不起作用不會影響結果。告訴我們你正在做什麼,當你這樣做時你期望發生什麼,當你這樣做時發生了什麼,標記你的代碼以告訴我們問題出現在哪裏,等等。 – azurefrog

回答

0

傳遞一個Taxi對象,然後將Taxi對象賦值給一個String []數組。 也許嘗試在Taxi內製作一個getArray方法,其中包含放置在Place類中的循環,然後在Place中調用aaa.getArray,該方法將打印出數組。

1

您的aaa您傳遞給方法displaySomething的是Taxi的實例,因此您無法將其分配給字符串數組。

可以改變你的代碼有點

class Taxi { 
    String[] strings = {"aaa", "bbb", "ccc"}; 
    public String[] getStrings(){ 
    return strings 
    } 
} 

class Place { 

    public void displaySomething(Taxi taxi) { 

     String[] array = taxi.getStrings(); 

     for(int i = 0; i < array.length; i++) { 

     System.out.println(array[i]); 
     } 

    } 
} 
+0

我有點得到你想說的..我想我知道哪一部分我錯了。當試圖返回一個數組時,我應該把數組符號([])。就像你做了什麼「public String [] getStrings(){}」.. – user3657273

+0

@ user3657273是的,每當你返回數組,你需要指定這個,而yes []意味着它是數組 – user902383

0
String[] array = aaa; 

AAA是一個出租車對象,因此它是沒有意義的一個String []對象設置爲一個出租車對象。你想要的是:

String[] array = aaa.aaa; 
相關問題