簡體   English   中英

Java單獨方法查找素數

[英]Java seperate method to find Prime numbers

我編寫了一個程序來查找數字是否為質數。

該程序有2種方法:

  1. 接受用戶輸入的數字(存儲在數組中)

  2. 接受數組的每個元素,並確定它是否為素數(此方法的返回類型為boolean

現在,我的第二種方法對於所有值始終返回true。

public static boolean Isprime(int x){

    boolean isprime = false;

    for(int m=2;m<x/2;m++){

        int temp = x%m;
        if(temp == 0){
            isprime = false;
        }
        else{
            isprime = true;
        }
    }
    return isprime;
}

編輯:

public static  boolean Isprime(int x){

    boolean isprime = false;

    for(int m=2;m<=x/2;m++){

        int temp = x%m;
        if(temp == 0){
            isprime = false;
            break;
        }
        else{
            isprime = true; 
        }
    }
    return isprime;
}

PS-它也適用於9。

如果發現它不是素數和slighlty修改的方法,則需要立即中斷for循環,您可以遵循該方法來省略一些代碼並對其進行優化。

  public static  boolean Isprime(int x){
    boolean isprime = true;

    for(int m=2;m<=Math.sqrt(x);m++){

        int temp = x%m;
        if(temp == 0){
            isprime = false;
            break;
            }
      }
    return isprime;

  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM