Q. Write a sample code that will count the number of "Z"s in a given text? Show both iterative and recursive approaches?
A.
Iterative method:
A.
Iterative method:
public class Iteration { public int countA(String input) { if (input == null || input.length( ) == 0) { return 0; } int count = 0; for (int i = 0; i < input.length( ); i++) { if(input.substring(i, i+1).equals("Z")){ count++; } } return count; } public static void main(String[ ] args) { System.out.println(new Iteration( ).countA("ZZZ")); // Ans.3 }}
Recursive method:
public class RecursiveCall {
public int countA(String input) {
// exit condition – recursive calls must have an exit condition
if (input == null || input.length( ) == 0) {
return 0;
}
int count = 0;
//check first character of the input
if (input.substring(0, 1).equals("Z")) {
count = 1;
}
//recursive call to evaluate rest of the input
//(i.e. 2nd character onwards)
return count + countA(input.substring(1));
}
public static void main(String[ ] args) {
System.out.println(new RecursiveCall( ).countA("ZZZ")); // Ans. 3
}
}
No comments:
Post a Comment