Flag This Hub

Java source code Sample: Print Different Asterisk Shapes in Recursion

By


These java source codes outputs different forms of Asterisks using recursion.

Recursion is another way to achieve looping in a program. It has two types, the direct and indirect recursion. However in this program I used direct recursion. Basically a recursive method has two cases, the base case and the general case. Base case is the one who stops the program in looping and the general case is where the calculation or codes implementation performed, it is also in general case where the method called itself. To have a glance on how the recursion works, here is the sample java source codes on outputting asterisk in different forms using recursion.

A Java source code: How to Output Asterisk in Different Forms Using Recursion



//main method

public class Main{

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter a number: ");

int n = input.nextInt();

Asterisk1 access = new Asterisk1();

access.asterisk2(n);

}

}

//java class

public class Asterisk1 {

private int count = 0;

public void asterisk1(int n) {

if(n==0) {

System.out.println();

}

else {

System.out.print("*");

asterisk1(n-1); } }

public void asterisk2( int n) {

if(n==0){

return; }

else {

asterisk1(n);

asterisk2(n-1);

}

}

}

This program will output the asterisk in this form. If the number 4 is entered the form will be like this.

****

***

**

*

2. A Java source code for another Asterisk Form

/*The following code will have the same method as the first but different in implementation*/ //main method

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter a number: ");

int n = input.nextInt();

Asterisk1 access = new Asterisk1();

access.asterisk2(n,1);

}

}

// java class

public class Asterisk1 {

private int count = 0;

public void asterisk1(int n) {

if(n==0) {

System.out.println();

}

else {

System.out.print("*");

asterisk1(n-1);

}

}

public void asterisk3(int count,int m) {

if( count == 0) {

System.out.println();

} else {

asterisk1(m);

asterisk3(n-1,m+1);

}

}

}

The output of this code if number 4 is entered will be like this.

*

**

***

****


To get a form that would look like this,

****

***

**

*

*

**

***

****

3. Here is the other code.


//main method

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter a number: ");

int n = input.nextInt();

Asterisk1 access = new Asterisk1();

access.asterisk2(n); access.asterisk3(n,1);

}

}

// java class

public class Asterisk1 {

private int count = 0;

public void asterisk1(int n) {

if(n==0) { System.out.println();

} else {

System.out.print("*");

asterisk1(n-1);

}

}

public void asterisk2( int n) {

if(n==0) {

return;

} else {

asterisk1(n);

asterisk2(n-1);

}

}

public void asterisk3( int n,int m)

{ if( n == 0) {

System.out.println();

} else {

asterisk1(m);

asterisk3(n-1,m+1);

}

}

}

4. Lastly, to acquire a shape like this,

*

**

***

****

****

***

**

*

here is the code:

//main method

package prog_proj2;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter a number: ");

int n = input.nextInt();

Asterisk1 access = new Asterisk1();

access.asterisk3(n); access.asterisk2(n);

}

}

//java class

public class Asterisk1 {

private int count = 0;

public static void asterisk1(int n) {

if(n==0) { System.out.println();

} else {

System.out.print("*");

asterisk1(n-1);

}

}

public void asterisk2( int n) {

if(n==0) { return;

} else {

asterisk1(n);

asterisk2(n-1);

}

}

public void asterisk3( int n) {

count++;

if( n == 0) {

return;

} else {

asterisk1(count);

asterisk3(n-1);

}

}

}


Updated:

Want more codes? Choose sample codes below.

Available Java E-books

Computer Programming for Teens (For Teens (Course Technology))
Amazon Price: $15.00
List Price: $29.99
Introduction to Java Programming, Comprehensive (8th Edition)
Amazon Price: $75.00
List Price: $137.00
Murach's Java Programming
Amazon Price: $35.00
List Price: $57.50

Or perhaps you also may want to check these out.

Comments

No comments yet.

Submit a Comment
Members and Guests

Sign in or sign up and post using a hubpages account.



    Like this Hub?
    Please wait working