为了账号安全,请及时绑定邮箱和手机立即绑定

试图打印出 100 个奇数

试图打印出 100 个奇数

达令说 2022-07-14 10:17:46
import java.util.*;public class lab7 {public static void isPrime(int n,boolean isPrime){for (int div = 2; div < n; div++) {        if (n % div == 0) { // n is not prime           isPrime = false;           div = n;        }else{     isPrime=true;     }     }        }   // This program prints out the first 100 prime numberspublic static void main(String[] args) {  int count = 0;  int n = 1;  boolean isPrime=true;  // loop that iterates 100 times  while (count <= 100) {     // Use the isPrime method to check whether     // the number n is prime or not     if (isPrime(n)) {        System.out.println(n + " is prime");        count++;     }     // move on to the next n     n++;  } }}我试图让代码使用一种名为 isPrime 的方法打印出前 100 个奇数。我不断收到错误消息    lab7.java:35: error: method isPrime in class lab7 cannot be applied to given types;     if (isPrime(n)) {         ^required: int,booleanfound: int我将如何摆脱它并做我想做的事。
查看完整描述

4 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

您的isPrime(int)函数应如下所示:


public static boolean isPrime(int n) {

 for (int div = 2; div < n; div++) {

  if (n % div == 0) { // n is not prime

   return false;

  } else {

   return true;

  }

 }


 return false;

}

您的实施不起作用,因为:

  1. 你没有boolean从函数中返回

  2. Java 是按值传递的,因此您的变量isPrime不会更新

还要确保不要混淆素数和奇数之间的差异。


查看完整回答
反对 回复 2022-07-14
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

您的实施不起作用,因为:


你没有boolean从函数中返回

Java 是按值传递的,因此您的变量isPrime不会更新

还要确保不要混淆素数和奇数之间的差异。


查看完整回答
反对 回复 2022-07-14
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

public class lab7 {

public static boolean isPrime(int n,boolean isPrime){

for (int div = 2; div < n; div++) {

        if (n % div == 0) { // n is not prime

           isPrime = false;

           div = n;

        }else{

     isPrime=true;

     }


     }

return isPrime;

     }


   // This program prints out the first 100 prime numbers


public static void main(String[] args) {

  int count = 0;

  int n = 1;

  boolean isPrime=true;


  // loop that iterates 100 times

  while (count <= 100) {


     // Use the isPrime method to check whether

     // the number n is prime or not

     if (isPrime(n, isPrime)) {

        System.out.println(n + " is prime");

        count++;

     }


     // move on to the next n

     n++;

  }

 }

}

我已经更正了代码。请检查。


查看完整回答
反对 回复 2022-07-14
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

我看到的问题是 isPrime 需要两个变量,在第 35 行的代码中,您只提供了 1,即整数。



查看完整回答
反对 回复 2022-07-14
  • 4 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号