【发布时间】:2021-11-10 08:10:40
【问题描述】:
为什么循环不是以 1 以外的不同值重新开始。
package com.company;
import java.util.Scanner;
public class ForDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println();
System.out.print("ENTER A NUMBER: ");
int b = sc.nextInt();
int a;
for(a=1 ;a<11;a=a+1)
for(b=b;b<16;b=b+1)
System.out.println(b + " * " + a + " = " + b*a);
}
}
输出:
输入一个数字:1
1 * 1 = 1
2 * 1 = 2
3 * 1 = 3
4 * 1 = 4
5 * 1 = 5
6 * 1 = 6
7 * 1 = 7
8 * 1 = 8
9 * 1 = 9
10 * 1 = 10
11 * 1 = 11
12 * 1 = 12
13 * 1 = 13
14 * 1 = 14 到此结束!
需要的输出:
1 * 1 = 1
2 * 1 = 2
3 * 1 = 3
4 * 1 = 4
5 * 1 = 5
6 * 1 = 6
7 * 1 = 7
8 * 1 = 8
9 * 1 = 9
10 * 1 = 10
11 * 1 = 11
12 * 1 = 12
13 * 1 = 13
14 * 1 = 14
15 * 1 = 15
1 * 2 = 2
2 * 2 = 4
3 * 2 = 6
4 * 2 = 8
5 * 2 = 10
6 * 2 = 12
7 * 2 = 14
8 * 2 = 16
9 * 2 = 18
10 * 2 = 20
11 * 2 = 22
12 * 2 = 24
13 * 2 = 26
14 * 2 = 28
15 * 2 = 30 等等....
【问题讨论】:
-
b=binfor(b=b;b<16;b=b+1)。您的第一个内循环以b=16结束。然后在下一次外循环迭代中,您的内循环b为 16,因此条件b<16为 false。 -
接受用户输入
b还有什么意义?你想用它做什么? -
他正在接受他的起始位置的输入。我想在这里添加一个注释,请在处理之前检查您的输入。您的输入必须小于或等于 15。否则您的代码不会产生任何输出