2013-10-22 31 views
0

爲什麼我的循環無法正常工作?如何反轉五行元素字符串數組

示例輸出:

傑克 吉爾
鮑勃
瑪莎

從for循環反向輸出樣本:

瑪莎
鮑勃
吉爾
傑克

public static void main(String[] args) 
{  
    Scanner kb = new Scanner(System.in); 
    System.out.println("Enter a String"); 
    String []x; 
    x= new String[5]; 
    for(int i=0; i<args.length; i++) 
    { 
     x[i]= kb.next(); 
    } 

    for(int i=5; i<=0; i--) 
    { 
     System.out.println(x[i]); 
    }    
} 
} 
+0

您有一個額外的'}'你的代碼的末尾。可能是一個錯字。 – dcaswell

+0

這個問題被標記爲重複,而OP在編寫'for'循環條件時遇到了問題。 – Sage

回答

4

你的for循環條件i<= 0false作爲i = 5和數組是基於零索引在java中。

for(int i=5; i >= 0; i--) // the condition i <=0 will not met if used 
    { 
     System.out.println(x[i]); // it will give ArrayIndexOfBound Exception 
    } 

你應該從i = 40;最安全的辦法就是寫:

for(int i= x.length -1; i >= 0; i--) 
    { 
      System.out.println(x[i]); 
    } 
+0

非常感謝你幫助我。我很感激 – user2905178

1

一個for循環,只要條件爲真運行。 5<=0是不正確的,所以你永遠不會進入循環。

1

使用Collections.reverse

String[] s = new String[] {"one","two","three","four", "five"}; 
System.out.println(Arrays.deepToString(s)); 
Collections.reverse(Arrays.asList(s)); 
System.out.println(Arrays.deepToString(s)); 

此打印:

[one, two, three, four, five] 
[five, four, three, two, one]