我在为家庭作业找到正确的输出格式时遇到了一些麻烦。这是:
编写一个程序,该程序接受来自用户的整数n和整数m,并打印出一个 完整的输出行报告n的前m个倍数。例如,如果用户输入是: m = 5,n = 3;
它应该产生这个输出: 3的前5个倍数分别为3,6,9,12和15.
这是我到目前为止所做的:
import java.util.*;
public class Assignment2Part3 {
public static void main (String[] args) {
//declaring the two variables being entered
int n = 0;
int m = 0;
//declaring answer variable
int a = 0;
//declaring scanner input
Scanner input = new Scanner(System.in);
System.out.println("Please enter the number you want to find multiples of");
n = input.nextInt();
while(true) {
System.out.println("Please enter the amount of multiples you want to see");
m = input.nextInt();
if (m <= 0) {
System.out.println("Please enter an integer greater than zero");
}
if (m > 0) {
break;
}
}
System.out.println("The first "+n+ " multiples of "+m+" are: ");
for (int i=1; i<=m; i++) {
a =i*n;
System.out.println(a);
}
}
}
这就是输出现在的样子:
Please enter the number you want to find multiples of
3
Please enter the amount of multiples you want to see
5
The first 3 multiples of 5 are:
3
6
9
12
15
如何使输出看起来像&#34; 3的前5个倍数是3,6,9,12和15。&#34; ?
注意:此作业适用于入门课程,我们刚刚介绍了for循环。
答案 0 :(得分:1)
在一行上打印出来。
通过将System.out.println
更改为System.out.print
,您可以在同一行显示多个打印件。
您还需要在每个号码前print
一个分隔符(", "
)(除了第一个),所以这些数字不会叠加在一起。
在最后一个号码之前,您要打印"and"
。
您可以通过在循环处于最后一步(即i==m
)时更改行为来完成。
这就是这样的:
System.out.println("The first "+m+ " multiples of "+n+" are: ");
for (int i = 1; i <= m; ++i) {
if (i > 1) {
System.out.print(", ");
if (i==m) {
System.out.print("and ");
}
}
System.out.print(i*n);
}
System.out.println(".");