How can I get a char array in reverse order?

后端 未结 10 2559
情深已故
情深已故 2020-12-18 16:23

my assignment question is like that

Write a program which prints the letters in a char array in reverse order using

void printReverse(char         


        
相关标签:
10条回答
  • 2020-12-18 16:38

    I believe what you wrote is the signature of the method you have to create.

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

    You would have to iterate the array and print what it contains backwards. Use a reverse "for loop" to go through each item in "letters". I'll let you combine these yourself as it's an assignment. Here's an example of a for loop:

    for (int i = array.length-1; i >= 0 ; i--){
        System.out.print(array[i]);
    }
    
    0 讨论(0)
  • 2020-12-18 16:38

    `

    //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);
    }
    

    `

    output: 4love

    0 讨论(0)
  • 2020-12-18 16:38

    void printReverse(char letters[], int size) is the signature of the function that you have to do. E.g.

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

    and call it from your main window with the parameters.

    0 讨论(0)
  • 2020-12-18 16:45
    #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;
    }
    

    /one can write same for any type of array/

    0 讨论(0)
  • 2020-12-18 16:45
    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();
        }
    }
    
    0 讨论(0)
  • 2020-12-18 16:50

    Man you code is right except some minor changes in the main method and in the loop and the method has to be static.

    The signature printReverse(char[] letters, int size) means that when you call it, you have to pass char array and the size of the array

    Try the following

    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 讨论(0)
提交回复
热议问题