[問題] 新手 method使用問題

看板java作者 (jiangjiang)時間6年前 (2018/04/11 21:20), 6年前編輯推噓3(301)
留言4則, 1人參與, 6年前最新討論串1/1
package test; import java.util.Scanner; import static java.lang.System.out; public class TestClass { public static int numOfFactors(int n, int s, int e) { int factors = 0; for(int i = s; i<=e; i++) { while(n%s==0) { factors = factors + 1; } } return factors; } public static void main(String[] args) { TestClass test = new TestClass(); System.out.println(test.numOfFactors(100,10,30)); } } 這是我的程式碼,想在s,e區間中找到n的因數個數。但在使用Eclipse編譯的過程中, run完都沒有結果產生(印出簡單的Hello World是成功的)。自己覺得是使用method的方法有誤,但在找完網路上的資料試過, 都不太清楚是什麼地方有誤,想請問大大們@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.81.18 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1523452830.A.7AD.html

04/11 21:40, 6年前 , 1F
while(n%i==0) {
04/11 21:40, 1F

04/11 21:44, 6年前 , 2F
耶不對 怎麼有兩個迴圈
04/11 21:44, 2F

04/11 21:47, 6年前 , 3F
while那邊改成if(n%i==0)
04/11 21:47, 3F
啊啊!竟然沒有注意到這個!為什麼用while不行呢? ※ 編輯: rexrex0808 (123.193.81.18), 04/11/2018 21:55:36

04/11 21:59, 6年前 , 4F
因為你變數n,s在while迴圈裏面沒有變 就無窮迴圈了
04/11 21:59, 4F
謝謝你!我懂了 ※ 編輯: rexrex0808 (123.193.81.18), 04/11/2018 22:22:01
文章代碼(AID): #1QpWkUUj (java)
文章代碼(AID): #1QpWkUUj (java)