Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当分号明显存在时,Java需要分号_Java - Fatal编程技术网

当分号明显存在时,Java需要分号

当分号明显存在时,Java需要分号,java,Java,为什么这个不能编译?我一直收到一个错误,说它期待一个分号,但有一个 我们不能调用这样的方法 public class Machine{ String machineType; public Machine(String s){ //Sets machineType to String s String getName(); } } 相反,将其分配给一个变量 public Machine(String s){ //Sets machineType to Strin

为什么这个不能编译?我一直收到一个错误,说它期待一个分号,但有一个

我们不能调用这样的方法

public class Machine{
   String machineType;
   public Machine(String s){ //Sets machineType to String s
      String getName();
   }
}
相反,将其分配给一个变量

 public Machine(String s){ //Sets machineType to String s
  String getName();    // Method
 }
即使这样也行

 public Machine(String s){ //Sets machineType to String s
  String var = getName();    // assuming getName returns a string
 }

我们不能这样调用方法

public class Machine{
   String machineType;
   public Machine(String s){ //Sets machineType to String s
      String getName();
   }
}
相反,将其分配给一个变量

 public Machine(String s){ //Sets machineType to String s
  String getName();    // Method
 }
即使这样也行

 public Machine(String s){ //Sets machineType to String s
  String var = getName();    // assuming getName returns a string
 }
这一行:

 public Machine(String s){ //Sets machineType to String s
   getName();    
 }
毫无意义。将其更改为:

 String getName();
或者更可能您想要:

 String name = getName();
但是我不知道你是怎么想的,但是你可以得到你得到的代码。

这一行:

 public Machine(String s){ //Sets machineType to String s
   getName();    
 }
毫无意义。将其更改为:

 String getName();
或者更可能您想要:

 String name = getName();

但是我不知道你是怎么想得到你得到的代码的。

你似乎在试图调用方法
getName()
如果是这种情况,您必须:

public Machine(String s) {
    machineType = s;
}


如果方法没有返回类型(void),则使用第一个,如果它是字符串,则使用第二个。

您似乎正在尝试调用该方法
getName()
如果是这种情况,您必须:

public Machine(String s) {
    machineType = s;
}


如果方法没有返回类型(void),则使用第一个,如果是字符串,则使用第二个。

即使您可以这样做

String name = getName();

你也可以这样做

String name = getName();

可能是下面这一行造成了问题?类似“应为分号”的错误表示编译器在特定位置应为分号。事实上,你有一个没有关系,如果它在错误的地方。许多编译器不擅长生成有用的错误消息。你必须习惯它,感谢你不使用GNUC++,它会在每次我犯下一个错误时给我几个无用的错误消息。下面的一行可能是造成问题的一个错误,比如“预期分号”,意味着编译器在特定的地方期待分号。事实上,你有一个没有关系,如果它在错误的地方。许多编译器不擅长生成有用的错误消息。你必须习惯它,感谢你没有使用GNUC++,它会给我一个错误的错误信息,我认为他想要的是“MexType=S”,但是你回答了问题!code>//假设getName返回void
是的,这在所有情况下都有效,但我考虑的是理想情况。我相信他想要“machineType=s;”,但你回答了这个问题
//假设getName返回void
是,这在所有情况下都有效,但我考虑的是理想情况。这是不可能的,除非您将代码放在奇怪的地方,例如不在构造函数中。我已经添加了一些行,以形成一个完整的构造函数。我认为这是显而易见的,但也许不是。现在就试一下,就像我编写的那样。这是不可能的,除非你把代码放在奇怪的地方,比如不在构造函数中。我已经添加了一些行,以形成一个完整的构造函数。我认为这是显而易见的,但也许不是。现在就试试,我已经编好了。