我在做一个程序,用户给出1到20之间的任意数字,在加法和乘法之间进行选择,程序将计算出结果为n(input)的基本加法或乘法。
例如,
如果输入是4和加法,程序给出如下答案:
4就是4
4是3加1
4是2和2
如果输入是9和乘法,程序给出如下答案:
9是91
9是33
它不能重复同样的答案
6是32
6是23
我的问题是乘法部分。我仍然不知道如何跳过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;
}
}
}
} }
1条答案
按热度按时间4dc9hkyq1#
试试这个