my assignment question is like that
Write a program which prints the letters in a char array in reverse order using
void printReverse(char
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]);
}
`
//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
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.
#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/
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();
}
}
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]);
}
}
}