嘗試創建一種方法來回傳“n”以下的第一個數字,該數字可以完全除以第一個和第二個除數。目前我的程式正在回傳“答案”的默認值為 0,我希望在回圈內計算的值在回圈外被轉換為回傳。是的,我是初學者:(
static int highestNumberBelowNDivisibleByTwoNumbers(int firstDivisor, int secondDivisor, int n) {
int multipliedDivisors = firstDivisor * secondDivisor;
int answer = 0;
int remainder = 0;
for (int i = n; i <= 1; i--) {
remainder = multipliedDivisors / i;
if (remainder == 0){
answer = i;
break;
}
}
return answer;
}
uj5u.com熱心網友回復:
根據您的描述:
嘗試創建一種方法來回傳“n”以下的第一個數字,該數字可以完全除以第一個和第二個除數。
使用% 運算子(余數/模數)嘗試以下類似的操作:
static int highestNumberBelowNDivisibleByTwoNumbers(int firstDivisor, int secondDivisor, int n) {
while (n>0) {
if ((n % firstDivisor == 0) && (n % secondDivisor == 0)) {
return n;
}
n--;
}
return -1; // no answer found
}
uj5u.com熱心網友回復:
你的代碼
for (int i = n; i <= 1; i--) {
remainder = multipliedDivisors / i;
if (remainder == 0){
answer = i;
break;
}
將計數器從n下降到 1。但是,answer除非余數為零,否則不會更新。如果該條件從未滿足,n則將回傳默認值(為零)。
問題? remainder = multipliedDivisors / i什么時候會remainder為零?
由于這個賦值,int multipliedDivisors = firstDivisor * secondDivisor;只有當“除數”變數之一為零時。
重做你的邏輯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/410510.html
標籤:
上一篇:服務器不分發django gunicorn nginxstatic
下一篇:如何移動不同子目錄中的檔案?
