我需要编写一个程序,当插入一个数字时,它打印从 1 到该数字的数字序列,在单独的行中每次添加一个数字。 示例:如果插入 8,则会打印
1
1 2
1 2 3
1 2 3 ... 8
import java.util.Scanner;
public class Series {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.print("Insert number ");
int a = sc.nextInt();
int i = 0;
StringBuilder sb = new StringBuilder();
for(i=1; i<=a; i++)
sb.append(i);
System.out.println(sb.toString());
}
}
我正在使用这个,显然它只打印从 1 到数字的一行。我不知道我能改变什么,或者这是否完全错误
StringBuilder
中,但在循环后仅打印一次结果,这会在一行中输出整个序列,而不是按照您想要的逐步输出。这是更正后的版本:
import java.util.Scanner;
public class Series {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Insert number: ");
int a = sc.nextInt();
sc.close();
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= a; i++) {
sb.append(i).append(" ");
System.out.println(sb.toString().trim());
}
}
}
Insert number: 10
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10