2012-12-11 33 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