2014-04-01 57 views
1

我的問題如下: 給定一個數字n作爲輸入,返回一個長度爲n的新字符串數組,包含字符串「0」,「1」,「2」,直到n-1。如果n = 0,則返回一個長度爲0的數組。預期輸出爲- stringArray(4)= {「0」,「1」,「2」,「3」},實際輸出爲stringArray(4)= {0,1,2,3}。如何以字符串的形式添加數字。如何將數字以字符串的形式添加到數組中?

public class ArrayOfNumbers { 

    static int testcase1=4; 

    public static void main(String[] args){ 
     ArrayOfNumbers testInstance=new ArrayOfNumbers(); 
     String[] result=testInstance.arrayOfNumbers(testcase1); 
     System.out.print("{"); 
     for (int i=0;i<result.length;i++){ 
      if (i>0) 
       System.out.print(","); 
      System.out.print(result[i]); 
     } 
     System.out.println("}"); 
    } 

    public String[] arrayOfNumbers(int num) { 
     int n=0; 
     String n1="n"; 
     String[] arr=new String[num]; 
     for(int i=0;i<num;i++){ 
      arr[i]=n1; 
      n=n+1; 
     } 
     return arr; 
    } 
} 
+2

你打算在打印每個數字時如何包含'''標記嗎? –

+2

你可以使用'String.valueOf()'將一個數字解析爲一個字符串 – Veluria

+0

@newbie不要忘記標記帖子爲'解決了' –

回答

1
for (int i=0;i<result.length;i++){ 
    if (i>0) 
     System.out.print(","); 
    System.out.print("\"" + result[i] + "\""); 
} 
2
public String[] arrayOfNumbers(int num) { 
    String[] arr=new String[num]; 
    for(int i=0;i<num;i++){ 
     arr[i]="\"" + i + "\""; 
    } 
    return arr; 
} 
+0

另外,他可以擺脫n,只用'i'就可以了。 – resueman

+0

是的,加了完整的方法 –

+0

非常感謝您的幫助。我得到了正確的輸出。 – newbie

2

更改arrayOfNumbers方法,

public String[] arrayOfNumbers(int num) { 
    String[] arr = new String[num]; 
    for (int i = 0; i < num; i++) { 
     arr[i] = "\"" + String.valueOf(i) + "\""; 
    } 
    return arr; 
} 

然後,你可以使用

String[] result = testInstance.arrayOfNumbers(testcase1); 
System.out.println(Arrays.toString(result)); 

或(到您的輸出完全一致)使用現有main

+0

我不認爲他想用他的號碼「」,但將字符串添加到數組。 –

+0

@AnthonyRaymond再看看預期的輸出(與實際產出相比)顯然,我*可能*是錯誤的...我以前一直在,我相信我會再次錯誤(我只是不認爲我在這裏)。 –

+0

哦,你是對的 –

相關問題