接收输入以查找倍数

时间:2017-03-01 12:05:36

标签: java

我在为家庭作业找到正确的输出格式时遇到了一些麻烦。这是:

  

编写一个程序,该程序接受来自用户的整数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循环。

1 个答案:

答案 0 :(得分:1)

  1. 在一行上打印出来。 通过将System.out.println更改为System.out.print,您可以在同一行显示多个打印件。
    您还需要在每个号码前print一个分隔符(", ")(除了第一个),所以这些数字不会叠加在一起。

  2. 在最后一个号码之前,您要打印"and"。 您可以通过在循环处于最后一步(即i==m)时更改行为来完成。

  3. 这就是这样的:

    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(".");