Sig.1855
Sig.1855

Reputation: 23

Print only 10 outputs per line

I have a Printf formating question. I am to print only 10 numbers, before going to the next line and printing 10 more numbers and so on. with the end goal being like a table, with all the columns lining up and being aligned to the right. I am using a while statement as well. I have tried a few different things that I have found in my research, with no success. Would I use a different print statement for it other than Printf? Such as Print, or PrintLn? Also thought about using an If statement as well. Any help would be greatly appreciated! Thank you.

    System.out.printf("Please enter a maximun integer value: ");
    Scanner scan = new Scanner(System.in);
    double n = scan.nextDouble();

    System.out.printf("The number you entered was: %.0f \n", n); // Just to check if user input is correct

    double startNum = 0;
    double sqrt = startNum;

    System.out.printf("Squares less than %.0f are: ", n);
    while ( sqrt < n) {
        sqrt = Math.pow(startNum, 2);
        System.out.printf("%6.0f", sqrt);
        startNum ++;
    }

Upvotes: 2

Views: 500

Answers (2)

Srikanth Balaji
Srikanth Balaji

Reputation: 2718

Using a MOD condition, You can ensure 10 output per line.

import java.util.Scanner;

class Test {
    public static void main(String[] args) {
        System.out.printf("Please enter a maximun integer value: ");
        Scanner scan = new Scanner(System.in);
        double n = scan.nextDouble();

        System.out.printf("The number you entered was: %.0f \n", n); // Just to check if user input is correct

        double startNum = 0;
        double sqrt = startNum;

        System.out.printf("Squares less than %.0f are: ", n);
        while (sqrt < n) {
            sqrt = Math.pow(startNum, 2);
            if(startNum != 0 && startNum % 10 == 0) {
                System.out.println();
            }
            System.out.printf("%6.0f", sqrt);
            startNum++;
        }
    }
}

Output -

Please enter a maximun integer value: 150

The number you entered was: 150

Squares less than 150 are: 0 1 4 9 16 25 36 49 64 81

121 144 169

Upvotes: 1

Chuck Walters
Chuck Walters

Reputation: 88

while ( sqrt < n) {
    sqrt = Math.pow(startNum, 2);
    System.out.printf("%6.0f", sqrt);
    startNum ++;

    if(startNum%10==0){
        System.out.printf("/n");
    }
}

Upvotes: 0

Related Questions