2017-06-03 13 views
-4

代碼在Java: -差異在Java和Python當函數返回值

int check_prime()//Function to check if a number is a prime number 
{ 
    int n = Integer.parseInt(br.readLine());//Number to be checked 
    for(int i=2;i<n;i++) 
    { 
     if(n%i==0) 
     { 
      return 0; 
     } 
    } 
    return 1; 
} 

代碼在Python: -

def check_prime():#Function to check if a number is a prime number 
n1=input("Enter the number")#Number to be checked 
n=int(n1) 
for i in range(2,n,1): 
    if n%i==0: 
     return False 
return True 

在Java中,每當一個函數返回一個值,它終止本身並不執行任何進一步的陳述。因此,如果一個數字不是素數,它將返回0並停止。 Python中也會發生同樣的事情嗎?因爲據我測試它並沒有發生。 感謝您的幫助

+1

而不是嚴格測試它,看看代碼。它在功能上是否一樣?如果是這樣,它會做同樣的事情。 – Li357

+0

您不能在Java中使用'return'作爲方法名稱。這是一個保留字。 – Logan

+0

是的,我對洛根感到抱歉。 –

回答

1

您的for循環正在做非常不同的事情。我相信你的Python循環應該是:

for i in range(2, n): 

自從你離開了範圍發電機,你遍歷元組循環(2,N,1),而不是在2開始的數字序列和n之前停止。您也不需要指定步驟參數。默認情況下它是1。

return語句在兩種語言中的工作方式都是相同的:它終止函數。

此外,Java中還有一個布爾類型,您應該使用它來代替true來表示true/false值。

+0

是的,我很抱歉。 –