percentEven,不会编译

时间:2016-04-07 05:26:12

标签: java

所以这是Java教科书中的percentEven方法。我无法编译,并想知道你们是否能看到我的错误。

“编写一个名为”percentEven“的方法,它接受一个整数数组作为参数,并将数组中偶数的百分比作为实数返回。”

这是说明。这是我到目前为止所做的。

import java.util.*;

public class percentEven {

   public class void main ( String [] args ) {
      int [] integers = {34, 56, 4, 17, 9, 83, -300, 5};
      int evenResult = percentEven (integers);
      System.out.println ( " The percent of even numbers is" +          evenResult + "." );
   }

   public class int percentEven ( int [] integers ) {
      int count = 0;
      int even = 0;
      for (i=0,i<integers.length,i++){
         if ( integers[i] % 2 == 0 ){
            even++;
         }
         count++;
      }
      count= (even/count)*100;
      return count;
   }
}

4 个答案:

答案 0 :(得分:2)

你声明你的方法错了。

public class

表示新课程。你的意思是

public static int percentEven

你的循环也应该被分隔;不是,人物。

答案 1 :(得分:2)

首先,改变

public class int percentEven ( int [] integers ) {

public int percentEven ( int [] integers ) {

percentEven是一个方法,而不是一个类。

其次,改变

for (i=0,i<integers.length,i++){

for (int i = 0;i < integers.length; i++){

使用IDE进行Java开发将是一个好主意:)

答案 2 :(得分:1)

你有很多地方在函数中写了class。您的main必须为static。由于它正在调用另一个函数percentEven,因此该函数也应该是static。我将在这里避免进一步的技术细节。

For循环有,,您需要;

在您进行百分比计算的部分中存在错误。 int / int提供int;所以,4/8 = 0.将它乘以100几乎没有差别。当你得到50时,你得到0.我把它改为double,这样你就可以理解算术了。它现在正在运行。

以下是工作代码。

public class PercentEven {

   public static void main(String[] args) {
      int[] integers = new int[]{34, 56, 4, 17, 9, 83, -300, 5};
      double evenResult = percentEven(integers);
      System.out.println("The percent of even numbers is " + evenResult + "." );
   }

   public static double percentEven( int[] integers ) {
      int count = 0;
      int even = 0;
      for (int i = 0 ; i < integers.length ; i++){
         if ( integers[i] % 2 == 0 ){
            even++;
         }
         count++;
      }
      return (100.0*even/count);
   }
}

答案 3 :(得分:0)

代码中有几个错误:

  1. percentEvenmethod而不是类,删除该关键字类

  2. 您无法对非静态方法进行静态引用,因此该方法必须是静态的

  3. 必须声明for循环中的变量i,并且内容使用分号而不是冒号

  4. 最终代码:

    public static void main(String[] args) {
        int[] integers = {
            34, 56, 4, 17, 9, 83, -300, 5
        };
        int evenResult = percentEven(integers);
        System.out.println(" The percent of even numbers is" + evenResult + ".");
    }
    
    public static int percentEven(int[] integers) {
        int count = 0;
        int even = 0;
        for (int i = 0; i < integers.length; i++) {
            if (integers[i] % 2 == 0) {
                even++;
            }
            count++;
        }
        count = (even / count) * 100;
        return count;
    }