Java 错误:插入枚举标识符和枚举正文

Java 错误:插入枚举标识符和枚举正文,java,enums,Java,Enums,这是我的代码,两个语法错误都在第16行,更具体地说是“private getTotalGrains(k,grains);”从阅读其他类似问题来看,这可能与在另一个方法中编写方法有关?如果我是,我没有足够的经验看到它的帮助将是惊人的 import java.util.Scanner; public class Grain { public static void main(String[] args) { { Grain grain = new Grain(); grain.ge

这是我的代码,两个语法错误都在第16行,更具体地说是“private getTotalGrains(k,grains);”从阅读其他类似问题来看,这可能与在另一个方法中编写方法有关?如果我是,我没有足够的经验看到它的帮助将是惊人的

import java.util.Scanner; 

public class Grain
{
public static void main(String[] args)
{
 {  
  Grain grain = new Grain();
  grain.getTotalGrains();
 }
  int grains = 0;
  Scanner keyboard = new Scanner(System.in);
  System.out.println("How many days shall the program run for? Please enter a number between 1 and 64.");
  int k = keyboard.nextInt();

 private getTotalGrains(k, grains);
  {
     k = k-1;
     grains = grains * 2;

    do
    {
       getTotalGrains(k, grains);
    }
    while(k == 1);
    {
      System.out.println(grains + " grains of rice.");
    }
    while(k < 1);
    {
      System.out.println("Invalid number please try again.");
    }
    while(k > 64);
    {
      System.out.println("Invalid number please try again.");
    }
   }
  }
 }
import java.util.Scanner;
公粮
{
公共静态void main(字符串[]args)
{
{  
谷物=新谷物();
grain.getTotalGrains();
}
int颗粒=0;
扫描仪键盘=新扫描仪(System.in);
System.out.println(“程序应运行多少天?请输入一个介于1和64之间的数字”);
int k=keyboard.nextInt();
私有颗粒(k,颗粒);
{
k=k-1;
颗粒=颗粒*2;
做
{
获得总粒径(k,颗粒);
}
而(k==1);
{
System.out.println(grains+“grains of rice.”);
}
k<1;
{
System.out.println(“无效号码,请再试一次。”);
}
k>64;
{
System.out.println(“无效号码,请再试一次。”);
}
}
}
}

首先,这里没有关于枚举的内容

您的代码包含多个语法错误。看看下面的片段

private getTotalGrains(k, grains);
  {
  • 缺少返回类型
  • 缺少参数类型
  • 有冗余的
    
    应将其改写为:

    private void getTotalGrains(int k, int grains) {
    
    此外,您尝试在方法
    main
    中定义java不支持的方法
    getTotalGrains


    我想还有其他的错误

    您将一个方法(getTotalGrains)放入另一个方法中,这在Java中是不允许的,这完全混淆了编译器。此外,该方法的声明行(同样是getTotalGrains)包含一个分号,分号不属于该方法。坚持Java代码约定将揭示这两个方面。你是对的:你不能嵌套方法。在这种情况下,他们需要在课堂上并排在同一级别上。