在Java中每三个整数打印新线路



我想打印出1到10的奇数数字。您将如何控制可以在Java控制台中的每行上打印的项目数量。

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

public static void main(String[] args) 
{
    Scanner input = new Scanner(System.in);

    int z,t;
    System.out.println("Enter two numbers: ");
    z = input.nextInt();
    t = input.nextInt();
    humbala(z,t);
}
public static void humbala ( int x, int y)
{
    for(int a; x < y; x++)
    {
        if(x % 2 !=0 )
        {
            System.out.print(x+ " ");
            for (int i=0; i<y; i++)
            {
                if(i > 3)
                {
                System.out.println();
                }
                i = 0;
            }

        }
    }
}

}

我的循环有点奇怪。我有一个计数器变量A,但从未真正使用过,但无论如何它都可以使用。问题是,如果我放X,我会出现一个错误,说这是重复的我在想,我应该做一个数组。这样每一个第三索引,我就可以打印出一条新线路但是我无法将其翻译成代码

如果您使用的是Java8,您可以做类似的事情以在同一行注上打印项目,您可以使用arraylaylist,但我不确定是否已经了解到:

import java.util.Arrays;
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.print("Enter start number: ");
    int start = input.nextInt();
    System.out.print("Enter end number: ");
    int end = input.nextInt();
    humbala(start, end);
  }
  public static void humbala(int start, int end) {
    int count = 0;
    String[] numbersLine = new String[3];
    for (int i = start; i <= end; i++) {
      if(count != 0 && count % 3 == 0) {
        System.out.println(String.join(" ", numbersLine));
        Arrays.fill(numbersLine, ""); //for last line
      }
      numbersLine[count % 3] = String.valueOf(i);
      count++;
    }
    System.out.println(String.join(" ", numbersLine)); //print any remaining numbers
  }
}

示例用法:

Enter start number:  1
Enter end number:  10
1 2 3
4 5 6
7 8 9
10

在这里尝试!

您不需要多个if条件和for循环中未使用的variable,如果您只想打印所有数字并在每3个数字后打印一条新线路,则可以完成。使用counter,例如:

public static void main(String[] args) throws IOException {
    try(Scanner input = new Scanner(System.in);){
        int z, t;
        System.out.println("Enter two numbers: ");
        z = input.nextInt();
        t = input.nextInt();
        humbala(z, t);
    }
}
public static void humbala(int x, int y) {
    int counter = 0;
    for (int i = x; i <= y; i++) {
        if(counter++ % 3 == 0){
            System.out.println();
        }
        System.out.println(i);
    }
}

最新更新