3

私の課題の質問はそのようなものです

以下を使用して、char 配列内の文字を逆順に出力するプログラムを作成します。

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

たとえば、配列に {'c', 's', 'c', '2', '6', '1'} が含まれている場合、出力は "162csc" になります。

やってみたけど意味わからん

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

私はこれを行いましたが、メソッド「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]);
    }
}
4

10 に答える 10

24

次のようにStringBuilder#reverse()メソッドを利用できます。

String reverse = new StringBuilder(new String(letters)).reverse().toString();
于 2012-12-11T20:15:01.023 に答える
6

あなたが書いたものは、あなたが作成しなければならないメソッドの署名だと思います。

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]);
}
于 2012-12-11T20:20:21.990 に答える
0

mainメソッドとループのいくつかの小さな変更を除いて、コーディングする人は正しいです。メソッドは静的である必要があります。

署名printReverse(char []文字、intサイズ)は、それを呼び出すときに、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]);
    }
  }

 }
于 2012-12-11T21:04:36.317 に答える
0

void printReverse(char letters[], int size)あなたがしなければならない機能の署名です。例えば

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

パラメータを使用してメインウィンドウから呼び出します。

于 2012-12-11T20:09:46.503 に答える
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;
}

/どのタイプの配列でも同じように記述できます/

于 2020-05-22T16:16:27.637 に答える