如何使用函数计算带有两个变量的区域?

问题描述 投票:0回答:3

我正在解决这个问题,以计算面积的答案为double和int.it没有工作,代码有什么问题?

我尝试在内部包含双半径和内半径,它显示不能应用于给定的类型。

public static void main(String args[]){
     for (int radius = 0; radius < 5 ; radius++)
         PrintArea(radius);
    for (double  radius = 0; radius < 2.6 ; radius+= 0.5)
         PrintArea(radius);
}
public static void PrintArea(int radius,double radius){
        double area=3.142*radius*radius;
        System.out.println(area);

}

我希望它可以计算并显示双重答案,但它显示错误。

java function
3个回答
0
投票

有一点,你不应该为函数的两个参数使用相同的名称。

所以PrintArea(int radius, double radius)不正确,可能是你得到的错误之一。

另一个是,当你需要两个参数时,你只用一个参数调用PrintArea。

将参数重命名为int r1和double r2,如下所示:

public static void PrintArea(int r1,double r2){
    double area=3.142*radius*radius;
    System.out.println(area);
}

或者使用只有一个double参数的PrintArea:

public static void PrintArea(double radius){
    double area=3.142*radius*radius;
    System.out.println(area);
}

0
投票

您的代码存在某些问题,您的printArea函数接受两个参数,但您在调用函数时只发送一个参数。您的printArea函数只需要一个参数radius(不需要两个参数)。另一个问题是在printArea函数中,参数的data typeint类型。因此,当您使用int以外的其他参数调用此函数时,它将抛出错误,因为您在第二个printArea中调用double类型的参数for loop函数。


0
投票

有一些事情可以清理干净。首先,为什么PrintArea函数需要2个参数?你只用一个叫它,而且一般来说,我们不需要两条信息来获得一个圆的区域。所以我猜你只想要一个参数。

public static void PrintArea(double radius){
  double area=3.142*radius*radius;
  System.out.println(area);
}

哪个适用于intdouble类型。通常我们也在Java中使用camelCase,这意味着对于像“PrintArea”这样由多个单词组成的方法,第一个单词以小写字母开头,之后的每个其他单词都以大写字母开头。

© www.soinside.com 2019 - 2024. All rights reserved.