The program I'm working on is supposed to read input from a file and using recursion, print the pattern of asterisks for each value until the value is either < 0 or > 25.
For example, if the value was 4, the pattern would look like this
*
* *
* * *
* * * *
* * *
* *
*
The values are stored in a file entitled prog3.dat which looks like this
4
3
15
26
0
I've never used recursion before and haven't been able to find anything showing how it would work with this particular type of problem.
Here is what I've been able to come up with so far, but I'm having problems still which I will show following the code.
import java.util.Scanner;
import java.io.*;
public class Program3 {
public static void main(String[] args) throws Exception {
int num = 0;
java.io.File file = new java.io.File("../instr/prog3.dat");
Scanner fin = new Scanner(file);
while(fin.hasNext()) {
System.out.println("Please enter an integer");
num = fin.nextInt();
if(num >=0 && num <= 25)
makePattern(num);
}
}
public static void makePattern(int num) {
if(num >= 0 && num <= 25) {
makePattern(num-1);
for(int i = 0; i < num; i++) {
System.out.print("*" + " ");
}
System.out.println("");
}
}
}
Output:
Please enter an integer
*
* *
* * *
* * * *
Please enter an integer
*
* *
* * *
Please enter an integer
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
Please enter an integer
Please enter an integer
As you can see, I don't know how to make it print the pattern like in the example and am honestly not even sure if this is recursion since I've never actually worked with recursion before.