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);
}
}
所以在我宣布n2之后? – 2015-02-17 23:07:25
因为我放了一阵子(n1 <0 && n2 <0){ \t \t \t System.out.print(“POSITIVE NUMBERS ONLY”);在int2之后,-5和15的GCD返回为1时,它应该是正数NUMBERS ONLY – 2015-02-17 23:11:23
我只想输入两个数字,然后只有在使用负数时才输出正数 – 2015-02-17 23:14:31
- 1. XSLT:我如何获得此输出?
- 2. 我们如何获得以下输出?
- 3. 如何获得与输出
- 4. 如何获得输出proc_open()
- 5. 如何获得输出?
- 6. 如何获得此div内的输入?
- 7. 我如何获得python logging.debug()消息输出到标准输出?
- 8. 如何使用此Perl程序获得正确的输出?
- 9. 如何获得此数据集的正确输出?
- 10. 如何使用SQL查询获得此输出
- 11. 如何以表格格式获得此输出
- 12. 如何从此SELECT查询中获得正确的输出?
- 13. 我能做些什么来获得此功能输出?
- 14. 如何使用XSLT获取此输出?
- 15. 如何使用XQuery获取此输出?
- 16. 如何将此内容输出到textarea?
- 17. 如何将此输出张贴到API
- 18. SQL Server输出:我应该如何继续在表中获取此输出?
- 19. 如何获得如下输出?
- 20. 我如何获得数组方法给我正确的输出?
- 21. 如何获得此布局?
- 22. 如何获得此布局?
- 23. 如何获得此界面?
- 24. 如何获得此布局?
- 25. 如何获得此结果
- 26. 我将如何获取此输入文本的文本?
- 27. 获取此PHP错误,但获得正确的输出?
- 28. 如何获得确切的输出?
- 29. 如何从Perl管道获得输出?
- 30. 如何获得所需的输出?
我建议只是得到'n1'和'n2'的绝对值,然后再考虑GCD。 – ssube 2015-02-17 23:05:09