如何跳过某个数字并继续?

h6my8fg2  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(313)

我在做一个程序,用户给出1到20之间的任意数字,在加法和乘法之间进行选择,程序将计算出结果为n(input)的基本加法或乘法。
例如,
如果输入是4和加法,程序给出如下答案:
4就是4
4是3加1
4是2和2
如果输入是9和乘法,程序给出如下答案:
9是91
9是3
3
它不能重复同样的答案
6是32
6是2
3
我的问题是乘法部分。我仍然不知道如何跳过2(如上所述)。它将ends保持在9是9*1,并且没有给出更多,因为我编码了,如果余数不是0,则结束程序。
但我不知道怎么做。下面是我到目前为止所做的。。x是乘法的第一个字母,j是乘法的第二个数字。

class Main {
 public static void main (String[] args) {
 Scanner sin = new Scanner (System.in);
 System.out.println ("Please enter an integer between 1 and 20: ");
 int nNatalie = sin.nextInt();
 sin.nextLine();
 int nHalf = nNatalie / 2;
 int j = 1;

 if (1 > nNatalie || nNatalie > 20) {
  System.out.println ("Invalid Number");
 }

 else {
  System.out.println ("Addition or Multiplication?");
  String word = sin.nextLine();

  if (word.equals("Addition")) {
    System.out.println(nNatalie + " is " + nNatalie);
    for (int i = nNatalie - 1; i >= nHalf; i--){
      if (j <= i) {
        System.out.println(nNatalie + " is " + i + " and " + j);
        j++;
      }
    }
  }

  else if (word.equals("Multiplication")) {
    for (int x = nNatalie; x >= j;){
      if (nNatalie%j != 0) {
        continue;
      }
      System.out.println(nNatalie + " is " + x + "*" + j + ".");
      j++;
      x = nNatalie / j;
    }
  }
}

} }

4dc9hkyq

4dc9hkyq1#

试试这个

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sin = new Scanner(System.in);
        System.out.println("Please enter an integer between 1 and 20: ");
        int nNatalie = sin.nextInt();
        sin.nextLine();
        int nHalf = nNatalie / 2;
        int j = 1;

        if (1 > nNatalie || nNatalie > 20) {
            System.out.println("Invalid Number");
        }

        else {
            System.out.println("Addition or Multiplication?");
            String word = sin.nextLine();

            if (word.equals("Addition")) {
                System.out.println(nNatalie + " is " + nNatalie);
                for (int i = nNatalie - 1; i >= nHalf; i--) {
                    if (j <= i) {
                        System.out.println(nNatalie + " is " + i + " and " + j);
                        j++;
                    }
                }
            }

            else if (word.equals("Multiplication")) {

                for(int i = 1; i < nNatalie; i++) {

                    if(nNatalie%i!=0) {}
                    else {
                        System.out.println(nNatalie + " is " + i + " * " + nNatalie/i);
                    }

                }

            }
        }
    }
}

相关问题