如何反转五个元素的String数组

时间:2013-10-22 00:54:10

标签: java

为什么我的循环不起作用?

示例输出:

  

杰克   吉尔
  鲍勃
  玛莎

for loop reverse的示例输出:

  

马大
  鲍勃
   吉尔
  千斤顶

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]);
    }             
}
}

3 个答案:

答案 0 :(得分:4)

您的for循环条件i<= 0falsei = 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 = 4开始到0;最安全的方法是写:

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

答案 1 :(得分:1)

只要条件为真,就会运行for循环。 5<=0不是真的,所以你永远不会进入循环。

答案 2 :(得分: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]