繁体   English   中英

编译时目标代码中的Java级联错误

[英]Java cascade of errors in object code when compiling

我正在尝试编译Java程序,但是却收到一连串的错误提示

包含任务对象的方法/构造函数的文件中的“预期错误”,“类型非法开始”,“预期类,接口或枚举”。

根据我的在线收集,这些错误是在类或方法等之外进行语句时发生的,但是我还没有做任何事情。

之前的代码运行良好,我对Task.java所做的只是添加一些基本的get和set方法并更改某些变量的名称。

更重要的是,我无法查看cmd中的所有错误。 由于某种原因,我只能向上滚动到现在,所以我什至无法尝试指出源。

public class Task
{
// private member variables
private int CriticalTime;
private int TaskTime;
private int id;
private int numDependency;
private int day;
private boolean generic;
private boolean isComplete;
private boolean isCritical;
private boolean ignore;
private boolean dummy;
private boolean isScheduled;
private int[] dependency;

public Task()
{
    CriticalTime = 0;
    TaskTime = 0;
    id = 0;
    numDependency = 0;
    day = 0;
    generic = false;
    isComplete = false;
    isCritical = false;
    ignore = false;
    dummy = false;
    isScheduled = false;
    int[] dependency; 
    return;
}

public Task(int x, int y, int ID, int NumDependency, int Day, boolean Generic, boolean IsComplete, boolean IsCritical, boolean Ignore, boolean Dummy, boolean IsScheduled, int[] Dependency)
{
    CriticalTime = x;
    TaskTime = y;
    id = ID;
    numDependency = NumDependency;
    day = Day;
    generic = Generic;
    isComplete = IsComplete;
    isCritical = IsCritical;
    ignore = Ignore;
    dummy = Dummy;
    isScheduled = IsScheduled;
    this.dependency = Dependency;
    return;
}

public void setTask(int x, int y, int ID, int NumDependency, int Day, boolean Generic, boolean IsComplete, boolean IsCritical, boolean Ignore, boolean Dummy boolean IsScheduled, int[] Dependency)
 {
    CriticalTime = x;
    TaskTime = y;
    id = ID;
    numDependency = NumDependency;
    day = Day;
    generic = Generic;
    isComplete = IsComplete;
    isCritical = IsCritical;
    ignore = Ignore;
    dummy = Dummy;
    isScheduled = IsScheduled;
    this.dependency = Dependency;
}
 public void setTask(int[] Dependency)
 {
    CriticalTime = 0;
    day = 0;
    generic = false;
    isComplete = false;
    isCritical = false;
    ignore = false;
    dummy = false;
    isScheduled = false;
    this.dependency = Dependency;
}

public int getCriticalTime()
{
    return CriticalTime;
}

public int getTaskTime()
{
    return TaskTime;
}

public int getTaskID()
{
    return id;
}

 public int getNumDependency()
{
    return numDependency;
}

   public boolean getGenericBoolean()
{
    return generic;
}
   public boolean getIsCompleteBoolean()
{
    return isComplete;
}
   public boolean getIsCriticalBoolean()
{
    return isCritical;
}
   public boolean getIgnoreBoolean()
{
    return ignore;
}
   public boolean getIsScheduled()
{
    return isScheduled;
}
  public boolean getDummy()
{
    return dummy;
}
  public int getDay()
{
    return day;
}
   public int getDependency(int x)
{
    return dependency[x];
}

   public void setGenericBoolean(boolean Generic)
{
    generic = Generic;
}
   public void setIsCompleteBoolean(boolean IsComplete)
{
    isComplete = IsComplete;
}
    public void setIsCriticalBoolean(boolean IsCritical)
{
    isCritical = IsCritical;
}
    public void setIgnoreBoolean(boolean Ignore)
{
    ignore = Ignore;
}

    public void setIsScheduled(boolean IsScheduled)
{
    isScheduled = IsScheduled;
}

    public void setCriticalTime(int A)
{
    CriticalTime = A;
}
    public void setCriticalTime(int A, int B)
{
    CriticalTime = A + B;
}
    public void setDependency(int i, int A)
{
    dependency[i]=A;
}
    public void setTaskTime(int A)
{
    TaskTime = A;
}
    public void setTaskID(int A)
{
    id = A;
}
    public void setNumDep(int A)
{
    numDependency = A;
}
  public void setDummy(boolean Dummy)
{
    dummy = Dummy;
}
  public void setDay(int i)
{
    day = i;
}

}

抱歉,如果格式不正确或有不必要的方法等,我非常新手。

不是直接的答案,而是解决问题的指南:只需注释掉该代码的95%。

换句话说:您尝试编译的代码越多,一个简单的语法错误就越容易变成一条错误消息,而该错误消息并未直接指向正确的位置。

从而:

  • 您只需开始更频繁地运行编译器即可。 编写5行代码(您认为其中应该编译)-然后运行编译器。 修复错误。 等等
  • 如前所述:当您遇到这么大的事情并且无法将错误消息转换为有意义的信息时:请尝试找出问题出处。

除此之外:阅读干净的代码 例如,该实践主张一种方法最多具有3个参数。 令人惊讶的是:如果缺少3个参数中的2个,则很容易发现逗号,而对于12个参数中的11个,则很容易发现。

认真地说:您的“语法”问题只是实际问题的征兆 :这就是您如何设计类及其方法的方式。

还有一个,缺少boolean Dummy boolean IsScheduled,setTask 它应该是

public void setTask(int x, int y, int ID, int NumDependency, 
  int Day, boolean Generic, boolean IsComplete, boolean IsCritical, 
  boolean Ignore, boolean Dummy, boolean IsScheduled, int[] Dependency)
{
...
}

如果您使用IDE进行编程,则很容易发现这种错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM