关键是引入count计数
1.设计一个JAVA程序,输入i~j之间(含i和j)所有的整数值,每行k个。
public static void printNumbers(int i, int j, int k) {
for (int x = i, count = 0; x <= j; x++) {
System.out.print(x + (count == k - 1 ? "\n" : " "));
count = (count + 1) % k;
}
}
如果k等于0,它将不会打印任何换行符。count变量用来跟踪当前打印的数字是第几个,当count等于k-1时,打印一个换行符,然后count归零并继续打印
2.设计一个JAVA程序,输入i~j之间所有的质数,每行k个。
输入界面:(第一个值是输入到i,第二个是j,第三个是k)
请输入三个正整数值(如:5 18 3)
输出界面:
5 7 11
13 17
import java.util.Scanner;
public class PrimeNumbersInRange {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入三个正整数值(如:5 18 3):");
int i = scanner.nextInt();
int j = scanner.nextInt();
int k = scanner.nextInt();
scanner.close();
//这里是控制输出关键!
int count = 0;
for (int number = i; number <= j; number++) {
if (isPrime(number)) {
System.out.print(number + " ");
count++;
if (count % k == 0) {
System.out.println();
}
}
}
}
private static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
}
3.设计一个JAVA程序,输出前n个质数,每行k个。
输入界面:(第一个值是n,第二个k)
请输入两个正整数值(如:8 3): 8 3
输出界面:
2 3 5
7 11 13
17 23
import java.util.Scanner;
public class FirstNPrimeNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入两个正整数值(如:8 3): ");
int n = scanner.nextInt();
int k = scanner.nextInt();
scanner.close();
int count = 0;
int num = 2;
//只输出前n个,对count有限定
while (count < n) {
if (isPrime(num)) {
System.out.print(num + " ");
count++;
if (count % k == 0) {
System.out.println();
}
}
num++;
}
}
private static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
}