2014-04-22 63 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

我想還有其他的錯誤。