討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
以函數判斷是否為質數再傳回boolean
更改我的閱讀文章字型大小
作者 : francobello(francobello)
[ 貼文 33 | 人氣 1445 | 評價 110 | 評價/貼文 3.33 | 送出評價 20 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/25 下午 11:49:18
各位大大
小弟請教一個問題
小弟要設一函數
傳入一引數(數值)判斷其是否為質數
再傳回boolean值
小弟寫的如下
   public static boolean primeQ(int n)
   {
     for(int i=2;i<=n;i++)
     {
     if(n%i==0 && i==n)
     return true;
     else if(n%i==0 && i<n)
     return false;
     }
   }----------這裡 missing return statement
是return不能寫在迴圈裡嗎
還是哪裡錯了
請好心的大大幫個忙吧
謝謝
作者 : chihd(David)
[ 貼文 14 | 人氣 92 | 評價 150 | 評價/貼文 10.71 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人francobello註記此篇回應為很有道理 2005/2/26 上午 06:49:51
> public static boolean primeQ(int n)
> {
> for(int i=2;i<=n;i++)
> {
> if(n%i==0 && i==n)
> return true;
> else if(n%i==0 && i<n)
> return false;
> }
> }
Compiler doesn't know whether you program will run into for loop or not,
for example : if n < 2, it never go into for loop and there is no return statement outside the for loop. That's why compiler complain it.
作者 : my32(my32)
[ 貼文 9 | 人氣 2 | 評價 40 | 評價/貼文 4.44 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人francobello註記此篇回應為很有道理 2005/2/26 下午 12:00:38

一、您定義primeQ方法的回傳值為布林值,可是該方法實際上卻沒有接受到任何的布林值,故編譯器會有「missing return statement」(未接收到回傳值)。
所以我們可以說,雖然您的條件式裡有定義回傳true或false,但沒有跨趆for迴圈傳出來。因此您必須想個辦法讓值回傳出來。
二、另外建議您定義質數的條件式,其判斷方法是不是應該修正一下,好像無法正確地判斷某個數是否為質數。
三、我針對您的程式中,回傳值傳不出來的問題點作了修改,已經可以編譯。如果再將條件式作正確地修正應該就可以得到您要的答案。
class pr{
    
     public static boolean primeQ(int n){
     boolean k,j;
     boolean s=false;
     for(int i=2;i<=n;i++)
     {
     if(n%i==0&&i==n){
     k=true;s=k;}
     else if(n%i==0&&i<n){
     j=false;s=j;}
  
     }
   return s;
   }
}


作者 : francobello(francobello)
[ 貼文 33 | 人氣 1445 | 評價 110 | 評價/貼文 3.33 | 送出評價 20 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/26 下午 08:15:45
感謝my32大大
光看到您的回覆
就讓小弟恍然大悟
小弟實在受益匪淺
 板主 : 風月
 > Java入門一般區 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java入門一般區 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java入門一般區
1 洋將 2410 
2 Aron 2130 
3 Aries 1510 
4 DEMO999 1310 
5 Ben 990 
6 ramb 620 
7 ozzy 570 
8 tand 460 
9 Huah 410 
10 vindy 400 
Java入門一般區
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625