解法:
- 直接利用for循环,将这些数从1到N全部打印出来;
package Lq_project;
import java.util.Scanner;
public class PrintN_01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//获取控制台输入
while (scanner.hasNext()) {
int b = scanner.nextInt();//将输入的数据作为整型接收
PrintN(b);
}
}
private static void PrintN(int a) {
for(int i=1;i<=a;i++) {
System.out.printf("%d\n", i);
}
}
}
- 递归的把1到N-1这些数,用递归函数打印出来,最后打印当前的第N个数;
package Lq_project;
import java.util.Scanner;
//递归的算法是非常奇怪的,他有些时候会非正常终止的。递归的程序对电脑空间占用非常大
public class PrintN_02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);//获取控制台输入
while (scanner.hasNext()) {
int b = scanner.nextInt();//将输入的数据作为整型接收
PrintN(b);
}
}
private static void PrintN(int a) {
if(a!=0) {
PrintN(a-1);
System.out.printf("%d\n", a);
}
}
}