2014-10-29 70 views
0

所以我有一個字符串變量,意思是用逗號分隔的汽車名稱。Java將字符串的實例附加到以逗號分隔的字符串

String cars = ""; 

我想要做的是追加汽車到這個字符串。新車將被添加的方式:

String newCar1 = "Mini"; 
String newCar2 = "LandRover"; 
appendToCars(newCar1); 
appendToCars(newCar2); 

然後,目前我有這個,我主要需要幫助。

public void appendToCars(String newCar) 
{ 
cars = cars + "," + newCar; 
} 

所以輸出應該是:

Mini,LandRover 

但它是:

[,]Mini 

被傷透我的大腦這個幾個小時搞清楚如何做到這一點,但是我做不到得到我真正想要的結果。

林也使用這個JUnit測試內容如下:

@Test 
public void testAppendToCars() { 
    System.out.println("appendToCars"); 
    String newCar1 = "Mini"; 
    String newCar2 = "LandRover"; 
    String expResult = newCar1 + "," + newCar2; 
    testDel.appendToCars(newCar1); 
    testDel.appendToCars(newCar2); 
    String result = testDel.getCars(); 
    assertEquals("Delivery notes incorrectly stored", expResult, result); 
+1

你的代碼似乎找到(除非它應該打印',迷你,LandRover'心靈張貼。一個完整的可編譯示例? – 2014-10-29 00:40:12

+0

@IdanArye剛剛編輯我的示例忘記使用JUnit測試提及im – bSky 2014-10-29 00:47:11

+0

@bSky但是什麼是testDel?您可以發佈您的類,以便我們可以看到究竟發生了什麼? – kolonel 2014-10-29 00:50:47

回答

0

我覺得你只是有一個變量範圍的問題。此示例使用您的代碼,但需要範圍的考慮:

public class temp { 

    static String cars = ""; 

    public static void appendToCars(String something) 
    { 

     if (cars.equals("")){ 
      cars = something; 
     } 
     else { 
      cars= cars + "," + something; 
     } 

    } 

    public static void main(String[] args){ 

     String newcar1 = "Mini"; 
     String newcar2 = "LandRover"; 

     appendToCars(newcar1); 
     appendToCars(newcar2); 
     System.out.println(cars); 
    } 
} 

這個類將返回以下:

Mini,LandRover 
+0

這實際上已經解決了我的問題,謝謝 – bSky 2014-10-29 00:56:59

+0

@bSky沒問題。 – kolonel 2014-10-29 01:03:28