2012-12-11 72 views
2

我的分配的問題是這樣的我怎樣才能以相反的順序字符數組?

收件使用

void printReverse(char letters[], int size); 

例如一個程序,它打印出字母以相反的順序字符數組,如果陣列包含{「C」,「S」, 'c','2','6','1'}輸出應該是「162csc」。

我繼電器試圖解決它,但我不明白這意味着什麼! void printReverse(char letters [],int size);

所以我需要幫助烏拉圭回合知道我必須做的這出...

THX的傢伙,我不喜歡這一點,但那裏調用方法「printReverse」爲主要方法的問題!!

import java.util.Arrays; 
import java.util.Collections; 

public class search { 

public static void main(String[] args) {   

char[] letters = {'e', 'v', 'o', 'l', '4'}; 
printReverse(); 

} 

public void printReverse(char[] letters, int size){ 

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

} 
+2

到目前爲止,您嘗試過什麼? –

+1

你需要什麼幫助? –

+3

'void printReverse(char letters [],int size)''是必須實現的函數的簽名。該函數應該得到一個'char []'和它的大小並以相反的順序打印這些字母。 – reprogrammer

回答

3

我相信你寫的是你要創建方法的簽名。

public void printReverse(char[] letters, int size){ 
    //code here 
} 

您將不得不遍歷數組並向後打印它包含的內容。使用反向「for循環」遍歷「字母」中的每個項目。因爲這是一項任務,我會讓你自己把這些結合起來。下面是循環的一個例子:

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

我喜歡這樣.. import java.util.Arrays; import java.util。集合; 公共類搜索{ 公共靜態無效的主要(字串[] args){ \t炭[]字母= { 'E', 'V', '0', 'L', '4'}; \t printReverse(); } 公共無效printReverse(燒焦[]字母,INT大小){ \t \t 爲(INT I = letters.length-1; I> = 0; I - ){ \t是System.out.print(字母[一世]); \t} } } –

+0

看起來好像它必須是「printReverse(letters,letters.length);」 - 你必須將變量傳遞給你的方法。除此之外,它看起來沒問題。我不知道「尺寸」參數是什麼 - 奇怪的是,沒有解釋。 –

+0

另外我認爲你的方法缺少關鍵字「靜態」。 - 在「公共靜態void printReverse」 –

0

void printReverse(char letters[], int size)是您必須執行的功能的簽名。例如。

void printReverse(char letters[], int size) { 
//your code goes here 
} 

並從您的主窗口調用它的參數。

11

您可以使用StringBuilder#reverse()的方法是這樣的:

String reverse = new StringBuilder(new String(letters)).reverse().toString(); 
+1

我會使用'StringBuilder'來代替。 – arshajii

0

男人你的代碼是正確的,除了在main方法稍作改動,並在環路和方法必須是靜態的。

簽名printReverse(燒焦[]字母,INT大小)意味着,當你調用它,你必須通過炭陣列和陣列的大小

嘗試使用以下

import java.util.Arrays; 
import java.util.Collections; 

public class search { 

    public static void main(String[] args) {   

    char[] letters = {'e', 'v', 'o', 'l', '4'}; 

    printReverse(letters,5); 

} 

public static void printReverse(char[] letters, int size){ 

    for (int i = size-1; i >= 0 ; i--) 
    { 

    System.out.print(letters[i]); 
    } 
    } 

} 
+0

謝謝很多人你的權利,但什麼是數字5是指「printReverse(字母,5);」 ?? –

+0

數字5是在你的例子中的數組的大小:),但你也可以像printReverse(字母,字母。長度) –

+0

是啊:) :) thx很多 –

1

`

//not only prints the reverse order, but creates new char array with chars in desired order 
char[] letters = {'e', 'v', 'o', 'l', '4'}; 
int i = letters.length - 1, j = 0; 
char[] let = new char[letters.length]; 
while(i >= 0){ 
    let[j] = letters[i]; 
    i--; 
    j++; 
} 
for (char c : let){ 
    System.out.print(c); 
} 

`

輸出: 4LO ve