在Java中创建方法 - 标识符预期错误

时间:2014-02-24 01:38:20

标签: java void identifier

右。所以我正在为我的班级开设一个课程而且我遇到了一个区域。我做了一个搜索,发现了一些关于这个问题的线程,但是他们似乎都没有能够解决我的问题所以我在这里。该计划的目的是询问用户他们想要回答什么类型的问题并让他们提供信息。收集信息后,它会调用正确的计算方法。

这是我得到的错误:

Geometry.java:9: error: <identifier> expected
public static void circleArea(radius);
                                   ^
Geometry.java:14: error: <identifier> expected
public static void rectangleArea(length, width);
                                      ^
Geometry.java:14: error: <identifier> expected
public static void rectangleArea(length, width);
                                             ^
Geometry.java:19: error: <identifier> expected
public static void triangleArea(height, base);
                                     ^
Geometry.java:19: error: <identifier> expected
public static void triangleArea(height, base);
                                           ^
Geometry.java:24: error: <identifier> expected
public static void circleCircumfrence(radius);
                                           ^
Geometry.java:29: error: <identifier> expected
public static void rectanglePerimeter(length, width);
                                           ^
Geometry.java:29: error: <identifier> expected
public static void rectanglePerimeter(length, width);
                                                  ^
Geometry.java:34: error: <identifier> expected
public static void trianglePerimeter(side1, side2, side3);
                                         ^
Geometry.java:34: error: <identifier> expected
public static void trianglePerimeter(side1, side2, side3);
                                                ^
Geometry.java:34: error: <identifier> expected
public static void trianglePerimeter(side1, side2, side3);
                                                       ^
11 errors

其他一切都有效,我定义了我的变量,没有定义。以下是创建的方法(根据我的教师说明,方法是无效的):

public static void circleArea(radius);
{
 circArea = Math.PI * Math.pow(radius, 2);
 return circArea;
}
public static void rectangleArea(length, width);
{
  rectArea = (length * width);
  return rectArea;
}
public static void triangleArea(height, base);
{
  triArea = (.05 * base * height);
  return triArea;
}
public static void circleCircumfrence(radius);
{
  circCircum = 2 * (Math.PI * radius);
  return circCircum;
}
public static void rectanglePerimeter(length, width);
{
  rectPeri = (2 * length) + (2 * width);
  return rectPeri;
}
public static void trianglePerimeter(side1, side2, side3);
{
  triPeri = (side1 + side2 + side3);
  return triPeri;
}

2 个答案:

答案 0 :(得分:2)

您的参数没有类型 - 给它们类型 您的方法没有返回类型 - 如果它们返回值,则为它们提供返回类型。

例如改变:

public static void circleArea(radius)

public static double circleArea(double radius)

最后,给方法一个体(删除分号):

public static double circleArea(double radius) {
    return Math.PI * Math.pow(radius, 2);
}

也不需要局部变量 - 只是使代码混乱。

答案 1 :(得分:0)

  • 您需要在形式参数中提供变量类型。例如:

    // Substitute int with a more appropriate data type
    public static void circleArea(int radius) 
    
  • 您的方法签名和。之间不应该有分号 方法体。

  • 您也无法从void方法返回任何内容。您可以更改方法的返回类型,也可以将计算出的值存储在类中的变量中,并实现getter来检索值。