Java编译缺少返回语句错误

Java编译缺少返回语句错误,java,compiler-errors,return,Java,Compiler Errors,Return,我正在尝试学习java,通过闲逛和创建不同的东西,比如这个骰子示例。然而,在下面的课堂上,我被这张丢失的报税表困住了,但我不知道为什么。感谢您的帮助 Test1.java:12:错误:缺少返回语句 } ^ 1错误 import java.util.Random; 类字符 { 随机r=新随机(); 国际nSides; 公共内部模具(内部侧) { 这.nSides=边; r=新随机数(); } 公共int roll() { 返回r.nextInt(nSides+1); } 公共整数滚动(整数次) {

我正在尝试学习java,通过闲逛和创建不同的东西,比如这个骰子示例。然而,在下面的课堂上,我被这张丢失的报税表困住了,但我不知道为什么。感谢您的帮助

Test1.java:12:错误:缺少返回语句 } ^ 1错误

import java.util.Random;
类字符
{
随机r=新随机();
国际nSides;
公共内部模具(内部侧)
{
这.nSides=边;
r=新随机数();
}
公共int roll()
{
返回r.nextInt(nSides+1);
}
公共整数滚动(整数次)
{
整数和=0;
for(int i=0;i
看起来您试图编写一个构造函数,它自然没有返回值。 构造函数必须与它构造的类具有相同的名称

public int Die
替换为以下内容

public Char(int sides)
{
    this.nSides = sides;
    r = new Random();   
}
或者,您可以重命名类
Die

public class Die {
    public Die(int sides)
    {
       this.nSides = sides;
       r = new Random();   
    }
// Rest of your code
}
你需要说

public Char(int sides)
或者,假设您希望该类真正被称为“Die”,则将该类声明更改为:

class Die
和构造函数(?)行,以:

public Die(int sides)

(删除函数Die apply返回语句中的“int”)。

public int Die(int sides)
{
    this.nSides = sides;
    r = new Random(); 
    return 0; // whatever you want to return 
}
或者在模具之前移除
int
,并使其
无效

public void Die(int sides)
{
    this.nSides = sides;
    r = new Random(); 
}

看起来您正在尝试创建一个名为
Die
的类,该类就是它的构造函数。试试这个:

import java.util.Random;

class Die {
    private Random r = new Random();
    private final int nSides;

    public Die(int sides) {
        this.nSides = sides;
    }

    // rest of class omitted
}
注:

  • 构造函数不声明返回类型,其名称与类相同
  • 无需重新初始化
    随机
    字段(删除行)
  • 最好将
    nSides
    声明为
    final
    (参见代码)
  • 最好将所有字段设置为私有
import java.util.Random;

class Die {
    private Random r = new Random();
    private final int nSides;

    public Die(int sides) {
        this.nSides = sides;
    }

    // rest of class omitted
}