2017-06-03 2 views
-4

Code in Java: -Unterschied in Java und Python, wenn Funktionen Rückgabewerte

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; 
} 

-Code in 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 

In Java, wenn eine Funktion einen Wert zurückgibt, beendet er selbst und tut keine weiteren Anweisungen ausführen. Wenn also eine Zahl nicht prim ist, gibt sie 0 zurück und stoppt. Wird das gleiche auch in Python passieren? Denn soweit ich es testen konnte, passierte es nicht. Danke für die Hilfe

+1

Anstatt es rigoros zu testen, sehen Sie sich den Code an. Ist es funktional gleich? Wenn es ist, wird es das gleiche tun. – Li357

+0

Sie können 'return' nicht als Methodennamen in Java verwenden. Es ist ein reserviertes Wort. – Logan

+0

Ja, es tut mir leid wegen Logan. –

Antwort

1

Ihre for-Schleifen machen sehr unterschiedliche Dinge. Ich glaube, Ihre Python-Schleife sein soll:

for i in range(2, n): 

Da Sie den Bereich Generator ausgelassen, Ihre Schleife durch das Tupel geschleift (2, n, 1), statt die Zahlenfolge bei 2 beginnen und zu stoppen, bevor n . Sie müssen auch das Schrittargument nicht angeben. Es ist 1 standardmäßig.

Die Rückgabeanweisung funktioniert in beiden Sprachen gleich: Sie beendet die Funktion.

Auch gibt es einen booleschen Typ in Java, den Sie anstelle von int verwenden sollten, um wahre/falsche Werte darzustellen.

+0

Ja, das tut mir leid. –

Verwandte Themen