Search code examples
javanetbeansnetbeans-12

repeat number sequence on java


So recently a had an exam to make this simple program on java:

You enter a number, then the program needs to repeat a sequence based on the amount you entered, like this: if it was number 3 it should show 01-0011-000111, as you can see the numbers repeat in the same row, if it would be number 5 it should show: 01-0011-000111-00001111-0000011111 without the "-" symbol, I'm just putting it for you to understand better.The only thing I could do was this:

    Scanner lea = new Scanner(System.in);
    int number;
    int counter = 1;
    
    System.out.println("Enter a number");
    number = lea.nextInt();
    
    while(counter<=number){
        System.out.print("0");System.out.print("1");
        counter = counter + 1;
    }

thanks in advance!


Solution

  • I have a feeling this is inefficient, but this is my idea:

    You'd need to use 1 loop with 2 additional loops inside it. The outside loop will iterate N times (the amount the user specified), and the 2 loops inside will iterate the number of current iterations the outside loop has. One of them is for printing 0s and the other for printing 1s.

    In code, it would look like so:

    for(int i = 0; i < N; i++){
      for(int j = 0; j <= i; j++){
        System.out.print(0);
      }
    
      for(int j = 0; j <= i; j++){
        System.out.print(1);
      }
    
      if(i + 1 != N) System.out.print(" ");
    }