【问题标题】:"Unreachable code" Java [duplicate]“无法访问的代码”Java [重复]
【发布时间】:2016-03-11 18:00:25
【问题描述】:

您好,我尝试让何时编译的程序打印 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;
   }
}

谢谢!

【问题讨论】:

  • '静态{ NextId=1; }' 部分,您可以在 SetCord 上添加。这将有助于解决您的问题。您还需要 getY 和 getX 的其他任务。这个问题已经被其他人解决了

标签: java compiler-errors


【解决方案1】:

return 之后的语句无法访问。例如

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

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

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

【讨论】:

  • 非常感谢!现在没关系,最后一个错误是我对这个pastebin.com/EJfDxJBp“nextId 无法解析为变量”
  • static { SetCord.NextId=1; }
【解决方案2】:

您的方法中不应有任何声明发布returnReturn 应该是你方法的最后一条语句

喜欢这个:

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

【讨论】:

  • 谢谢你!现在没关系,但是最后一个错误是我对这个pastebin.com/EJfDxJBp“nextId 无法解析为变量”
  • 更新了我的答案,请检查:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多