2014-04-13 32 views
0

我是相當新的這一點,我目前正在CodeAcademy JavaScript的一些網絡課程。基本上,我試圖做一個子程序。我已經看了這個,並試圖按照格式,但我從宣言行中得到2個錯誤:1.'Missing「;」語句之前「和2.'Expected操作,而是看到了‘空缺’」'Missing「;」之前聲明'和'預期的運營商,而是看到「無效」'

的代碼如下:

else if (year > 2100) { 
    args; 
} 


public static void checkAge();{ 
    I have my arguments in here, I haven't included them as the error is with the above line 
} 
end; 

我不知道,因爲我已經包括改性劑在這裏做什麼,回報類型和子例程名稱。我還在子程序的上面添加了一行以顯示它是正確的半符合。如果我從聲明中刪除無效,那麼'預期'錯誤消失,但另一個保持不變。如果我拿走公開或靜態,這兩個錯誤都會保留。

也就是說,我所使用的編碼體驗主要來自Visual Basic,因此我需要任何答案,或者至少將其轉換爲Visual Basic解釋。

編輯:我現在有這個

public static boolean checkAge(){ 
    if (age > 13) { 
    console.log("Yer too old ter play this here game, get yer darrière out o' here!"); 
    age = prompt("What's your age?"); 
} 
else { 
    console.log("Welcome, young one!"); 
    confirm ("Are you ready to play?"); 
    var year = prompt("What year is it? (Enter a negative number for BC)"); 
} 

} 
end; 

該行現在報告的聲明之前缺少一個分號和只是缺少一般

附:分號實際上{args}中有東西,但我沒有包含它,因爲錯誤在另一行,所以我認爲這是多餘的。

+0

嘗試'public static void checkAge(){'在Java中沒有分號用於方法簽名(如果方法在那裏實現)。此外,'args'這一行可能不會有太大的作用。你能添加完整的源代碼嗎? – reto

+1

你期望'args;'和'end;'做什麼?爲什麼在大括號之前有分號?這根本就不是有效的Java。花一些時間來學習Java語法,並且不要嘗試將VB應用程序應用於Java。另外,你所謂的子程序被稱爲Java中的一種方法(以及一般的OO語言)。 –

+0

是的,你在該行有一個多餘的分號。 –

回答

1

刪除「;」從函數名 所以它成爲這個

public static void checkAge(){ 

你其他錯誤還指出了一個事實,即你正在返回你的函數值,在這種情況下,而不是「無效」你應該把在值的類型你正在返回。

E.g.如果你正在返回一個布爾值。

public static boolean checkAge(){ 
    return true; 
} 
+0

@ user3529354布爾是一個例子,因爲我不知道你的代碼。看看你的代碼,問題在於你正在編寫幾乎一半的java和一半的VB。嘗試此操作之前,您應該學習java。 Java使用System.out.println();不是console.log()。除非你已經在課堂上完成,否則沒有確認的功能。你也不使用var聲明變量,而是使用它們的適當的聲明,如int,boolean,long等。 – Bakstar

+0

顯然是它的Java SCRIPT,所以網絡端的東西。我覺得我現在要讓所有人都失敗了:P – user3529354

+0

親自,我實際上無法將您的代碼識別爲屬於單一語言。你的函數內的東西看起來像JavaScript,但是你也正在聲明你的功能像Java。所以是... – Bakstar