我的程序有点麻烦。我已经编写了用户验证,我可以将所有奇数打印到用户输入的内容。我的问题是试图在每一行得到10个整数。显然,我尝试了i%10 == 0技术,因为你知道奇数不能有零余数。如果你能给出一些很棒的提示或指导!
import java.util.*;
public class Question {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n;
System.out.print("Please enter a number. ");
n = input.nextInt();
while(n < 0 || n > 1000){
System.out.print("Error: 0 <= N <= 1000. Reenter.");
n = input.nextInt();
}
for(int i = 1; i <= n; i+=1) {
System.out.print(" " + i);
if(i % 10 == 0)
System.out.print("\n");
}
}
}
答案 0 :(得分:2)
以下逻辑似乎有效:
for (int i=1; i <= n; i+=1) {
if (i % 2 == 1)
System.out.print(" " + i);
if (i % 20 == 0)
System.out.print("\n");
}
这里的基本思想是(i % 2 == 1)
条件仅打印奇数,而(i % 20 == 0)
每十个数字都会添加换行符。我们使用mod 20的原因是每20个计数数字有十个奇数。
答案 1 :(得分:0)
这就是我提出的
int count = 0;
for(int i = 1; i <= n; i+=1) {
if (i % 2 == 1){
System.out.print(" " + i);
count += 1;
continue;}
if(count % 10 == 0)
System.out.print("\n");
}
添加一个仅在打印奇数时才会增加的计数意味着您可以测试它是否可以被10整除。