如何编写一个名为isPrime的方法,该方法将整数作为参数

gzszwxb4  于 2022-09-17  发布在  Java
关注(0)|答案(5)|浏览(403)

素数是一个只能被自身和1等分的数。例如,数字5是素数,因为它只能被1和5等分。然而,数字6不是素数,是因为它可以被1、2、3和6等分。
编写一个名为isPrime的方法,该方法将整数作为参数,如果参数是质数,则返回true,否则返回false。在完整的程序中演示该方法。
这就是我到目前为止所拥有的。
导入javax.swing.JOptionPane;
公共类PrimeChecker
{
公共静态void main(字符串[]参数)
{
字符串输入;//保持键盘输入
字符串消息;//要显示的消息
整数;//要检查素数的数字
//获取号码。
输入=JOptionPane。showInputDialog(“输入数字”);
number=Integer.parseInt(输入);
//确定它是否为素数。
如果(iPrime(数字))
message=“这是一个质数。”;
其他的
message=“这不是一个质数。”;
//显示消息。
JOptionPane。showMessageDialog(空,消息);
系统出口(0);
}
}

mtb9vblg

mtb9vblg1#

好的,iPrime函数的代码在哪里?您打算使用什么算法?

ghg1uchk

ghg1uchk2#

我想使用%运算符,但我不知道如何使用它。我还想使用代码字符串num=但我不知道在后面放什么。我去添加了一些东西,但我不知道是否正确。这就是我现在拥有的。
导入javax.swing.JOptionPane;
公共类PrimeChecker
{
字符串数量=
如果(编号%number==0 ||编号%number==1)
状态=真;
其他的
状态=假;
公共静态void main(字符串[]参数)
{
字符串输入;//保持键盘输入
字符串消息;//要显示的消息
整数;//要检查素数的数字
//获取号码。
输入=JOptionPane。showInputDialog(“输入数字”);
number=Integer.parseInt(输入);
//确定它是否为素数。
如果(iPrime(数字))
message=“这是一个质数。”;
其他的
message=“这不是一个质数。”;
//显示消息。
JOptionPane。showMessageDialog(空,消息);
系统出口(0);
}
}

jyztefdp

jyztefdp3#

我想使用%运算符,但我不知道如何使用它。我还想使用代码字符串num=但我不知道在后面放什么。
余数运算符(%)与任何其他二进制算术运算符一样使用:将其置于两个值之间以获得第三个值。

int result = 6 * 7; 
System.out.println(result); // prints 42 
result = 5 % 2; 
System.out.println(result); // prints 1  

对于初始化字符串变量,可以使用字符串文字(引号中的内容)或任何生成字符串的表达式:

String num = "Hello world"; 
System.out.println(num); // prints Hello world 
num = String.valueOf(6 * 7); 
System.out.println(num); // prints 42  

请原谅,你对你想要什么的陈述似乎有点漫无目的。我的意思是:您打算如何使用%运算符(用于目的*?)为什么需要字符串变量num

我去添加了一些东西,但我不知道是否正确。
我建议不要编写正确性未知的代码。把东西扔到墙上,希望其中一些能粘住是徒劳的,很快就会令人沮丧。
取而代之的是:
(1) 找出一个算法(对要遵循的步骤的简单英语描述),它将实现您在原始文章中使用的isPrime()方法。如果您不确定该算法的正确性,那么说明它,您将提供一个精确而有目的的问题。
(2) 咨询你的课本/老师/同学等,决定整个课程结构-课程将采用什么方法,它们的参数和返回类型以及它们的目的。此时,编译器将检测到Java语法的任何错误,如果您不能理解它们,您将再次发布一些东西,并提出精确的问题。即,发布代码和完整的编译器消息。我想补充一点,尽早且经常地编译是一个好主意,这样语法错误可以一次纠正一个。
(3) 一旦您运行了代码,就测试它。如果运行时行为不是您想要的,那么您再次需要发布一些内容(代码和行为描述)和一个确切的问题。(为什么会发生这种情况?)。
祝你好运

7gcisfzg

7gcisfzg4#

如果BigNumber%除数==0,则当您将BigNumber除以除数时,将不会得到余数。也就是说,除数将大数等分。
->如果除数小于数字,则BigNumber不是质数。
?你知道如何使用函数吗?(如与iPrime(数字)类似)

nc1teljy

nc1teljy5#

如果一个数字仅被1或其本身除,则它是质数。因此我们将循环2迭代到数学。sqrt(编号)并检查
下面,我分享了这方面的代码

public class HelloWorld{   
     public static void main(String[] args) { 
      int n =7; 
      if(isPrimeNumber(n)){ 
            System.out.println("number "+ n +" is prime"); 
           }else{ 
           System.out.println("number "+ n +" is not prime"); 
        } 
     }   
     public static boolean isPrimeNumber(int n) { 
         int j = (int) Math.sqrt(n); 
         for(int i=2 ; i <= j ; i++){ 
         if(n%i==0) 
         { 
             return false; 
         } 
         } 
        return true; 
     }   
}

来源:Check number is prime or not

相关问题