如何以相反的顺序获取char数组?
我的任务问题就是这样
编写一个程序,使用相反的顺序打印char数组中的字母
void printReverse(char letters[], int size);
例如,如果数组包含{‘c’,’s’,’c’,’2’,’6’,’1’},则输出应为“162csc”。
我试过了,但我不知道这意味着什么
void printReverse(char letters[], int size);
我这样做但是将方法“printReverse”调用到main方法中会有问题
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]); } } }
我相信你写的是你必须创建的方法的签名。
public void printReverse(char[] letters, int size){ //code here }
您必须迭代数组并向后打印它包含的内容。 使用反向“for循环”遍历“字母”中的每个项目。 我会让你自己把这些结合起来,因为这是一项任务。 这是for循环的一个例子:
for (int i = array.length-1; i >= 0 ; i--){ System.out.print(array[i]); }
你可以像这样使用StringBuilder#reverse()方法:
String reverse = new StringBuilder(new String(letters)).reverse().toString();
`
//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); }
`
输出:4love
void printReverse(char letters[], int size)
是您必须执行的函数的签名。 例如
void printReverse(char letters[], int size) { //your code goes here }
并使用参数从主窗口调用它。
你编写的代码是正确的,除了main方法和循环中的一些小的改动,方法必须是静态的。
签名printReverse(char []字母,int size)意味着当你调用它时,你必须传递char数组和数组的大小
请尝试以下方法
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]); } } }