2014-04-22 45 views
0

这里是我的代码两个语法错误都在第16行更具体“私人getTotalGrains(K,谷物);”从阅读其他类似的问题来看,它可能与在另一种方法中编写方法有关?如果我是我没有足够的经验看到它的帮助将是惊人的。错误:插入枚举标识符和枚举体

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."); 
    } 
    } 
    } 
} 
+1

通过将方法(getTotalGrains)放入另一个方法中,您完全搞不清楚编译器,这是Java中不允许的。此外,该方法的声明行(同样getTotalGrains)包含它不属于的分号。坚持Java代码约定会揭示两者。 – Seelenvirtuose

+0

你是对的:你不能嵌套方法。在这种情况下,他们需要在班级中同级。 – chrylis

回答

0

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

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

private getTotalGrains(k, grains); 
    { 
  1. 返回类型缺少
  2. 参数类型丢失。
  3. 方法定义后有多余的;

这应该被重新写为:

private void getTotalGrains(int k, int grains) { 

而且你尝试定义里面方法main所不支持Java方法getTotalGrains

我想还有其他的错误。