Java - IllegalFormatConversionException /找不到符号

时间:2016-02-09 08:42:15

标签: java

非常新的java并且在实验室作业中遇到问题。我遇到的问题是在弹跳部分,因为我现在已经给它IllegalFormatConversionException: d!=Ball了。我用迄今为止有限的知识尝试了各种选项,使用printf语句,然后我遇到的另一个错误就是找不到符号。任何提示,以帮助我了解如何打印“弹跳14次”将不胜感激。

public class Ball
{
   private double size;
   public double getSize()
   {
      return size;   
   }

   public void setSize(double s)
   {
       if(s >= 0)
       {
       size = s;
       }
   }

   public void roll()
   {
   }

   public void bounce(int numberOfBounces)
   {
   }
}


public class BallApp
{
      public static void main(String[] args)
      {
      Ball myBall = new Ball();  

      myBall.setSize(5); 
      System.out.printf("Ball with size %.0f\n", myBall.getSize());

      myBall.roll(); 
      System.out.println("rolling..."); 

      myBall.bounce(14); 
      System.out.printf("bouncing %d times", myBall);

      myBall.setSize(7); 
      System.out.printf("Size %.0f\n", myBall.getSize());
      }
}

最终结果应该是

球尺寸为5

滚动。 。

弹跳14次

尺寸:7

1 个答案:

答案 0 :(得分:3)

您需要有一个方法可以返回已经发生的跳出次数。 像:

public int getBounces(){
    return this.bounces;
}

然后你可以做

myBall.bounce(14); 
System.out.printf("bouncing %d times", myBall.getBounces());

但你必须首先在弹跳方法中增加反弹计数器。