我的代码没有运行。 我收到了错误
线程中的异常" main" java.lang.NoSuchMethodError:main
这是我下面的代码......有人请帮忙吗?!
问题来自使用TestDieClass的最终嵌套分支。
public class DieMod {
private final int MAX = 6;
private int faceValue;
public DieMod() {
faceValue = 1;
}
public int roll() {
faceValue = (int) (Math.random() * MAX) + 1;
return faceValue;
}
public void setFaceValue(int value) {
if (value >= 1 && value <= 6) {
faceValue = value;
}
}
public int getFaceValue() {
return faceValue;
}
public String toString() {
String result = Integer.toString(faceValue);
return result;
}
public class TestDieClass {
public static void main(String[] args) {
DieMod die = new DieMod();
die.setFaceValue(4);
System.out.println("input value : " + 4);
System.out.println("Result value : " + die.getFaceValue());
die.setFaceValue(10);
System.out.println("input value : " + 10);
System.out.println("Result value : " + die.getFaceValue());
}
}
}
答案 0 :(得分:0)
删除public class TestDieClass
,它会起作用。
<强>代码:强>
public class DieMod {
private final int MAX = 6;
private int faceValue;
public DieMod() {
faceValue = 1;
}
public int roll() {
faceValue = (int) (Math.random() * MAX) + 1;
return faceValue;
}
public void setFaceValue(int value) {
if (value >= 1 && value <= 6) {
faceValue = value;
}
}
public int getFaceValue() {
return faceValue;
}
public String toString() {
String result = Integer.toString(faceValue);
return result;
}
// Change made here
public static void main(String[] args) {
DieMod die = new DieMod();
die.setFaceValue(4);
System.out.println("input value : " + 4);
System.out.println("Result value : " + die.getFaceValue());
die.setFaceValue(10);
System.out.println("input value : " + 10);
System.out.println("Result value : " + die.getFaceValue());
}
}
<强>输出:强>
input value : 4
Result value : 4
input value : 10
Result value : 4
注意:强>
DieMod
类和单独的驱动程序类,即TestDieClass
,则必须将它们放在单独的.java文件中。DieMod
类声明为TestDieClass
的内部类,但不建议这样做。