我将如何获得此输出?
问题描述:
import java.util.Scanner;
public class EuclidGCD {
\t public static void main(String[] args) {
\t \t Scanner kbd = new Scanner (System.in);
\t \t System.out.print ("Enter First Number: ");
\t \t int n1 = kbd.nextInt();
\t \t System.out.print ("Enter Second Number: ");
\t \t int n2 = kbd.nextInt();
\t \t int gcd = 1;
\t \t int k = 2;
\t \t while (k <= n1 && k <= n2){
\t \t \t if (n1 % k == 0 && n2 % k == 0)
\t \t \t gcd = k ;
\t \t k ++;
\t \t }
\t \t System.out.println("The GCD of " + n1 + " and " + n2 + " is " + gcd);
\t }
}
答
只需添加一个if语句来检查n1和n2是否为正数,如果它们是只执行了其余代码。你不应该需要另一个while循环
public static void main(String[] args) {
Scanner kbd = new Scanner (System.in);
System.out.print ("Enter First Number: ");
int n1 = kbd.nextInt();
System.out.print ("Enter Second Number: ");
int n2 = kbd.nextInt();
if(n1 < 0 || n2 < 0){
System.out.println("POSITIVE NUMBERS ONLY ");
}else{
int gcd = 1;
int k = 2;
while (k <= n1 && k <= n2){
if (n1 % k == 0 && n2 % k == 0)
gcd = k ;
k ++;
}
System.out.println("The GCD of " + n1 + " and " + n2 + " is " + gcd);
}
}
+0
所以在我宣布n2之后? – 2015-02-17 23:07:25
+0
因为我放了一阵子(n1 2015-02-17 23:11:23
+0
我只想输入两个数字,然后只有在使用负数时才输出正数 – 2015-02-17 23:14:31
我建议只是得到'n1'和'n2'的绝对值,然后再考虑GCD。 – ssube 2015-02-17 23:05:09