有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将指数方程转换为Java代码时出现问题

我需要将a=n×s^2转换成Java。我的代码如下所示:

public float ABC( float n , float s)
{
  a = n*s;
  return a*a;
}

但是,如果将其打印出来,将返回以下错误:

This method must return a result of type float

因此,我认为我的解决方案不正确。有人能提供任何解决方案吗?我对Java非常陌生


共 (2) 个答案

  1. # 1 楼答案

    您应该声明变量a的类型:

    public static float ABC( float n , float s) {
        float a = n * s;
        return a * a;
    }
    
  2. # 2 楼答案

    您需要声明a的类型,因为您没有使用任何实例变量,所以可以使方法static

    此外,您可以将结果传递给Math.pow,并将结果double强制转换为float

    public class Question64613567 {
        public static void main(String[] args) {
            System.out.println(abc(2, 3));  // 36.0
            System.out.println(abc2(2, 3)); // 36.0
        }
         
        public static float abc(float n, float s) {
            float a = n * s;
            return a * a;
        }
        
        public static float abc2(float n, float s) {
            return (float) Math.pow(n * s, 2);
        }
    }