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