我的作业问题就是那个
编写一个程序,使用
以相反的顺序打印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]);
}
}
}
答案 0 :(得分:14)
您可以使用StringBuilder#reverse()这样的方法:
String reverse = new StringBuilder(new String(letters)).reverse().toString();
答案 1 :(得分:3)
我相信你写的是你必须创建的方法的签名。
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]);
}
答案 2 :(得分:2)
`
//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
答案 3 :(得分:0)
void printReverse(char letters[], int size)
是您必须执行的功能的签名。 E.g。
void printReverse(char letters[], int size) {
//your code goes here
}
并使用参数从主窗口调用它。
答案 4 :(得分:0)
你的代码是正确的,除了主方法和循环中的一些微小变化,方法必须是静态的。
签名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]);
}
}
}
答案 5 :(得分:0)
这大约需要6毫秒。 在打印之前,它会将char数组“就地”反转。
public static void reverseString(char[] s) {
int len = s.length;
if (len == 0)
return;
for (int i=0; i < (len/2); i++)
{
char l = s[i];
s[i] = s[len-i-1];
s[len-i-1] = l;
}
System.out.println(s);
}
答案 6 :(得分:0)
public void printReverse(char[] word){
reverseWordMaxIndex = word.length -1;
char[] reverseWord = new char(reverseWordMaxIndex + 1)
for ( int i= 0; i < word.length; i++){
reverseWord[reverseWordMaxIndex-i] = word[i];
}
for( int i= 0; i < reverseWord.length; i++){
System.out.println(reverseWord[i]);
}
}
答案 7 :(得分:0)
这是一个使用递归来验证字符数组的类。
公共类ReverseString {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = new String("Hello");
char[] strcharArray = str.toCharArray();
printReverse(strcharArray);
}
private static void printReverse(char [] str) {
helper(0, str);
}
private static void helper(int index, char [] str) {
if (str == null || index >= str.length) {
return;
}
helper(index + 1, str);
System.out.println(str[index]);
}
}
答案 8 :(得分:0)
import java.util.Scanner;
public class StringReverse {
static String input;
void completeReverse(){
char[] ch = StringReverse.input.toCharArray();
for(int i =ch.length-1;i>=0;i--){
System.out.print(ch[i]);
}
}
void partialReverse(){
String charOfSplit =" ";
// splitting and creating array on space character.
String[] split =StringReverse.input.split(charOfSplit);
//using loop on each index of split characters.
for(int i=0; i<split.length;i++){
// System.out.println(split[i]);
//breaking individual index in char array with different index value.
char[] indexedValue = split[i].toCharArray();
for(int j=indexedValue.length-1;j>=0;j--){
//printing that char array reverse order
System.out.print(indexedValue[j]);
}
// giving spaces for another index value after space given by user.
System.out.print(" ");
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringReverse sr =new StringReverse();
System.out.print("Enter the String: ");
//trimming every space before and after the string.
StringReverse.input = sc.nextLine().trim();
System.out.print("Complete Reverse: ");
sr.completeReverse();
System.out.println();
System.out.print("Partial Reverse: ");
sr.partialReverse();
}
}
答案 9 :(得分:0)
#include<stdio.h>
int main()
{
int i;
int temp;
int end;
int n=6;
int ar[6]={1, 2,3 , 4, 5, 6};
end=n-1;
printf("%d\n",end );
for(i = 0; i < 6; ++i)
{
temp=ar[i];
ar[i]=ar[end];
ar[end]=temp;
end--;
if(sizeof ar[6]/2==end){
break;
}
}
printf("\n");
for (int i = 0; i < 6; ++i)
{
printf("%d",ar[i] );
}
return 0;
}
/ 一个人可以为任何类型的数组写相同的 /