gpt4 book ai didi

java - 表达式错误开始非法

转载 作者:行者123 更新时间:2023-12-01 17:31:07 27 4
gpt4 key购买 nike

我对java完全陌生。我正在尝试创建我的第一个程序,但收到此错误。

E:\java>javac Robot.java
Robot.java:16: error: illegal start of expression
public String CreateNew (); {
^
Robot.java:16: error: ';' expected
public String CreateNew (); {
^
2 errors

下面是我的程序。

public class Robot {
public static void main(String args[]){
String model;
/*int year;*/
String status;

public String CreateNew () {
Robot optimus;
optimus = new Robot();
optimus.model="Autobot";
/*optimus.year="2008";*/
optimus.status="active";
return (optimus.model);
}
}
}

最佳答案

您正尝试在方法 (main) 中定义方法 (CreateNew),但在 Java 中无法做到这一点。将其移出main;由于 modelstatus 似乎是实例变量(而不是方法变量),因此也移动它们:

public class Robot {
// Member variables
String model;
/*int year;*/
String status;

// main method
public static void main(String args[]){

// Presumably more stuff here
}

// Further method
public String CreateNew () {
Robot optimus;
optimus = new Robot();
optimus.model="Autobot";
/*optimus.year="2008";*/
optimus.status="active";
return (optimus.model);
}
}

根据其内容,您可能希望 CreateNew静态(因此可以通过 Robot.CreateNew 调用它,而不是通过机器人实例)。像这样:

public class Robot {
// Member variables
String model;
/*int year;*/
String status;

// main method
public static void main(String args[]){

// Presumably more stuff here
}

// Further method
public static String CreateNew () {
// ^----------------------------- here's the change
Robot optimus;
optimus = new Robot();
optimus.model="Autobot";
/*optimus.year="2008";*/
optimus.status="active";
return (optimus.model);
}
}

用作

String theModel = Robot.CreateNew();

...虽然我不清楚为什么要创建一个 Robot 实例,然后将其丢弃并仅返回 model 实例成员的值。

<小时/>

有点离题,但 Java 中压倒性的约定是方法名称(静态或实例)以小写字母开头,例如createNew 而不是 CreateNew

关于java - 表达式错误开始非法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10767594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com