“无法访问的代码”Java

时间:2016-03-11 18:00:25

标签: java compiler-errors

您好我尝试制作程序谁将被编译打印X和Id数组,但我有一个问题,当我尝试添加静态int。我在教程上做了这个,但它无法编译。你有什么建议吗?

class SetCord
{
   double x;
   double y;
   private  int Id;
   private static int NextId;

   public SetCord(double a, double b)
   {
      x=a;
      y=b;
   }

   public double getX()
   {
      return x;
      Id=NextId;
      NextId++;
   }

   public double getY()
   {
      return y;
      Id=NextId;
      NextId++;
   }

   public int getId()
   {
      return Id;
   }
}

class Test
{

   public static void main(String args[])
   { 
      SetCord[] teste = new SetCord[3];
      teste[0] = new SetCord(3, 5);
      teste[1] = new SetCord(5, 5);
      teste[2] = new SetCord(1, 2);

      for(SetCord x:teste)
      {
         System.out.println("give x" +  x.getX());
         System.out.println("give id" +  x.getId());
      }  
   }

   static
   {
      NextId=1;
   }
}

谢谢!

2 个答案:

答案 0 :(得分:2)

在您的方法中return之后不应该发布任何声明。 Return应该是您方法的最后一个陈述

就像这样:

public double getX()
{
    Id=SetCord.NextId;
    SetCord.NextId++;
    return x;
}
public double getY()
{
    Id=SetCord.NextId;
    SetCord.NextId++;
    return y;
}

答案 1 :(得分:2)

无法访问return后的语句。对于前

public double getY()
{
    return y;
    Id=NextId;
    NextId++;
}

在方法返回之前,您要做什么业务逻辑。 你想做什么?

public double getY()
{        
    Id=NextId;
    NextId++;
   return y;
}