how to print number of stars depending on user choose

Michał Bała :

I've been trying practiceIt problems and expand them a little - and I'm stuck. The code will give results in as many stars as it's necessary, but I do not know how to make user decide the value for n.

I've tried adding to both methods (main/starString) those code lines: "Scanner input = new.Scanner(System.in); int n = input.next();" [also input.nextInt]

but the code will note allow any input from console. Not to mention I've got no idea where shoud I add second println command to actually print result from this code... help me please

import java.util.*;
public class printStars {

    public static void main(String[]args) {

        System.out.println("choose number and I wil show you 2^number stars");

    }
        public static String starString(int n) {
            if (n < 0) {
                throw new IllegalArgumentException();
            } else if (n == 0) {
                return "*";
            } else {
                return starString(n - 1) + starString(n - 1);
            }
        }
}
Arvind Kumar Avinash :

Do it as follows:

import java.util.Scanner;

public class Main {

    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.print("Choose number and I wil show you 2^number stars: ");
        System.out.println(starString(in.nextInt()));
    }

    public static String starString(int n) {
        if (n < 0) {
            throw new IllegalArgumentException();
        } else if (n == 0) {
            return "*";
        } else {
            return starString(n - 1) + starString(n - 1);
        }
    }
}

A sample run:

Choose number and I wil show you 2^number stars: 5
********************************

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=295528&siteId=1