2015-10-14 128 views
3

我创建了一个char[],看起来像使用for循环转移

[A, A, B, C] 

我想删除的最后一个字符,然后由一个向上的人并存储一个新char在第一字符数组指数。所以它看起来像这样:

[D, A, A, B] 

我将如何使用一个或两个for loops这样做。我有正确的想法,我只是没有正确实施。

char[] array = new char[4]; //Array looks like [A, A, B, C] 

for(int i = 0; i <= array.length - 2; i++) { 
    array[i] = array[i + 1]; 
} 
array[0] = 'D'; //This should be the new char at index 0. 

回答

9

这将更有意义,从年底到数组的开始迭代:

char[] array = new char[4]; //Array looks like [A, A, B, C] 

for(int i = array.length - 1; i > 0; i--) { 
    array[i] = array[i - 1]; 
} 
array[0] = 'D'; 
+0

你是对的,我的坏... – SomeJavaGuy

2

使用数组这么小的尺寸是确定的。

只需指出另一种方法,您可以使用LinkedList

LinkedList list = new LinkedList<Character>(Arrays.asList('A', 'A', 'B', 'C')); 
System.out.println(list); // prints "[A, A, B, C]" 
list.removeLast(); 
list.addFirst('D'); 
System.out.println(list); // prints "[D, A, A, B]"