表达式的非法开始,投币java 公共级硬币 { /** *创建一个新的硬币对象。 */ 公众硬币() { 私有布尔抬头; 公共空间翻转() { headup=Math.random()

表达式的非法开始,投币java 公共级硬币 { /** *创建一个新的硬币对象。 */ 公众硬币() { 私有布尔抬头; 公共空间翻转() { headup=Math.random(),java,Java,有人能告诉我我的代码做错了什么吗?您在构造函数中嵌套了方法,这在Java中是不合法的 解决方案:将这些方法从构造函数中取出,并在类中独立出来 public class Coin { /** * Creates a new Coin object. */ public Coin() { private boolean headup; public void flip () { hea

有人能告诉我我的代码做错了什么吗?

您在构造函数中嵌套了方法,这在Java中是不合法的

解决方案:将这些方法从构造函数中取出,并在类中独立出来

public class Coin
{
    /**
     * Creates a new Coin object.
     */
    public Coin()
    {
        private boolean headup;
        public void flip ()
        {
            headup = Math.random() < 0.5;
        }
        public boolean isHeads()
        {   
            return headup;
        }
        public String toString()
        {
            if (headup)
                return "Heads";
            else
                return "Tails";
        }
    }
}
公共级硬币{
私有布尔抬头;
公众硬币(){
}
公共空间翻转(){
headup=Math.random()<0.5;
}
公共广告(){
返回抬头;
}
公共字符串toString(){
如果(抬头)
返回“头”;
其他的
返回“尾巴”;
}
}

我是否应该去掉布尔值和void。把它们放在最上面?@Michael:你的评论把我弄糊涂了。你说的“去掉布尔值和void,把它们放在上面”是什么意思?我的意思是,对于私有布尔值headup,我应该把它移到公共硬币之前的行吗?
public class Coin {

   private boolean headup;

   public Coin() {

   }

   public void flip() {
      headup = Math.random() < 0.5;
   }

   public boolean isHeads() {
      return headup;
   }

   public String toString() {
      if (headup)
         return "Heads";
      else
         return "Tails";
   }
}