从循环中每行输出/打印6个数字

时间:2016-09-23 21:40:14

标签: java loops system.out

我正在尝试编写一个非常基本的代码,需要一个数字(通过手动编辑代码完成(即不允许扫描程序),然后将所有数字的倍数打印到一定的最大值(也可以在代码)。我的代码适用于循环,值等等 - 只是我们必须包含两种打印方式。一种方法很简单,每一个数字都在一个新行上。另一种方式更难 - 每行有6个数字,正确的意图,用几个空格分隔。我知道%(x/y/z/a/b/c)f将打印字符串/整数/双打/等。右边根据x/y/z/a/b/c对齐,但我不知道知道如何在6个数字后自动开始新的一行。

import java.util.*;
public class IncrementMax
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);

        int maxvalue = 200; // these top 2 values have to be adjusted to suit the program to your needs
        int incvalue = 5;
        int increment = incvalue; 
        int max = 200;

        System.out.println("I will print the multiples of " + increment + ", up to " + max + ". Do you want each number on a different line (y/n)?");
        String yesno = sc.next();

        if (yesno.equalsIgnoreCase("y"))
        {
            for(increment=incvalue; increment<(max+incvalue); increment=increment+incvalue)
                System.out.println(increment);
        }
        else if (yesno.equalsIgnoreCase("n"))
        {
            for (increment=incvalue; increment<(max+incvalue); increment=increment+incvalue)
                System.out.print(increment + ". ");
        }
        else
            System.out.print("");
    }
}

这是我到目前为止的代码。

1 个答案:

答案 0 :(得分:0)

这是%运算符的相对简单的用法:

for (increment = incvalue; increment < max + incvalue; increment += incvalue) {
    System.out.print(increment);
    if (increment % (incvalue * 6) == 0)
        System.out.println();
}