从静态方法错误消息引用的非静态方法?

时间:2013-01-04 19:46:27

标签: java static

编写一个程序来计算简单的兴趣,并且必须使用单独的方法来返回计算并进行计算。

public class Unit7B
{
   public static void main ( String [ ] args ) 
   {
       double p = Input.getDouble ("Enter the principal");
       double i = Input.getDouble ("Enter the interest rate");
       double n = Input.getDouble ("Enter the number of years");

       double result = simpleInterest( p, i, n); 
       System.out.println (result);
   }

   public double simpleInterest (double p, double i, double n)
   {
       return ( p * ( Math.pow ( 1.0 + i , n ) ));
   }
}

1 个答案:

答案 0 :(得分:2)

您需要将simpleInterest标记为静态方法:

public static double simpleInterest (double p, double i, double n)
{
    return ( p * ( Math.pow ( 1.0 + i , n ) ));
}

这是因为非静态方法需要类实例,而静态方法则不需要。为了使用非静态方法,您必须使用以下内容创建类:

Unit7B unit = new Unit7B();
unit.simpleInterest(p, i, n);