我试图找出我需要为作业编写的代码部分中的问题。我在Java编码。我的代码中的所有内容都完美地工作,除了(我认为是)循环条件。
这段代码应该得到2个值a和b。 a表示应该执行循环的次数。 b指的是一个数字。因此,如果a = 5且b = 5,则输出应为:
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
我会包含我的代码,如果有人可以帮我修改我的作业或告诉我我忽略了什么,那将是一个巨大的帮助。
import java.util.Scanner;
public class MaxMultiples {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter Maximum Number: ");
int maxnum = sc.nextInt();
System.out.print("Enter Multiplier: ");
int mult = sc.nextInt();
System.out.println("Displaying multiples of " + mult + ":");
int current = 1;
int result = 0;
for (int counter = 0; counter == maxnum; counter++);
{
result = mult * current;
System.out.println(mult + " x " + current + " = " + result);
current++;
}
}
}
答案 0 :(得分:5)
您有两个错误:
删除;
,因为它结束了for循环(意味着你有一个空的for循环):
for (int counter = 0; counter == maxnum; counter++);
^
将停止条件从==
更改为<
或<=
,因为如果您将counter
初始化为0
,则永远不会执行循环并在它不等于maxnum
时终止它(假设maxnum
不是0
)。
for (int counter = 0; counter == maxnum; counter++);
^
答案 1 :(得分:0)
以下是工作代码,你做了两个错误,一个是for循环;并且for循环的条件应该是反制的
import java.util.Scanner;
public class MaxMultiples{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("Enter Maximum Number: ");
int maxnum = sc.nextInt();
System.out.print("Enter Multiplier: ");
int mult = sc.nextInt();
System.out.println("Displaying multiples of " + mult + ":");
int current = 1;
int result = 0;
for (int counter = 0; counter < maxnum; counter++)
{
result = mult * current;
System.out.println(mult + " x " + current + " = " + result);
current++;
}
}
}
答案 2 :(得分:0)
按如下方式更改你的for循环
for (int counter = 1; counter <= maxnum; counter++)
{
result = mult * current;
System.out.println(mult + " x " + current + " = " + result);
current++;
}
你正在使用; at for(int counter = 1; counter&lt; = maxnum; counter ++);意味着你在那一点终止它,这就是为什么它只执行一次