**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
上个月关门了。
改进这个问题
这是我的密码。
public class Main {
public static void main(String[] args) {
public class Shape{
private String color;
private boolean filled;
public setDefault(){
color = green;
filled = true;
}
public Shape(String color, boolean filled){
this.color = color;
this.filled = filled;
}
public String getColor(){
return color;
}
public void setColor(String newColor){
this.color = newColor;
}
public boolean getFilled(){
return filled;
}
public void setFilled(boolean newFilled){
this.filled = newFilled;
}
public void toString(){
System.out.println("A Shape with color of: " + color + "and" + filled);
}
}
Shape test = new Shape();
test.toString();
}
}
基本上,我正在努力使它可以打印“一个绿色和填充颜色的形状。这是我的错误。
exit status 1
Main.java:5: error: illegal start of expression
public class Shape{
^
Main.java:9: error: invalid method declaration; return type required
public setDefault(){
^
不过,我对java很生疏,我知道还有更多的错误。有人能指出并告诉我问题是什么,我应该写些什么来解决它吗?
3条答案
按热度按时间ryhaxcpt1#
1:您试图在一个无效的方法中定义一个公共类:如果您想定义一个公共类,那么您必须按名称为它创建另一个文件
Shape
或者如果你想在里面定义它Main
类只需在主类的作用域中定义它,您必须像这样访问它:new Main().new Shape("color", true);
2:setDefault()
是一个方法,因此它需要一个返回类型,如果不返回任何值,则需要将其设置为void
.3:字符串值始终使用“”(双引号)。
4:重写默认构造函数,因此调用new时必须传递形状的参数
new Shape();
:5:您覆盖了
toString()
方法,它的返回类型为String
你必须按照它的定义来做:hi3rlvi22#
您需要定义一个单独的类
Shape
并返回一个String
在toString()
. 也,setDefault
应该是没有参数的构造函数:main.java文件:
shape.java文件:
sg24os4d3#
首先:您试图在方法内部定义一个类,这是不允许的(匿名类除外)。
最简单的修复方法是将类声明从
main
方法通过移动main
你班后面的方法。第二:你的
setDefault()
方法必须具有返回类型。如果你不打算归还任何东西,请使用void
.