2015-10-14 78 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]"