2013-04-02 42 views
0

我想編譯一個程序,但是我不斷收到一些我以前從未見過的錯誤。這是我的計劃:獲取錯誤,但我不確定它們是什麼意思

import java.util.Scanner; 
import java.io.FileReader; 
import java.io.*; 

public class Project1 
{ 
    public static void main (String [] args) throws FileNotFoundException 
    { 
    Scanner inFile = new Scanner(new FileReader("artists.txt")); //read from file 
    Scanner console new Scanner(System.in); //read from user input 


int sum = 0; //sum of revenue 
String artist; //user input 
int revenue = 0; //store yearly revenue 


System.out.println("Please enter the name of a band/artist: "); 
artist = console.next(); 

String[] tokens = artist.split(" "); 

while(inFile.hasNext()) 
{ 
    if (tokens == inFile.hasNext()) 
    { 
    if (inFile.Next == (2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012)); 
    { 
     if (inFile.hasNext()) 
     { 
     revenue = inFile.nextInt(); 
     sum += revenue; 
     System.out.print("sum"); 
     } 
    } 
    } 
} 

inFile.close(); 

我得到的錯誤如下:

Error: Syntax error, insert ";" to complete LocalVariableDeclarationStatement [Line 13] 
Error: Syntax error on token "==", Name expected after this token [Line 30] 

如果有人碰巧看到任何其他錯誤,隨意點出來。謝謝。

+0

如果您正在學習Java,我認爲您應該從更簡單的Java示例開始。你的代碼有基本的語法錯誤... –

回答

1

你錯過了一個賦值操作符=

Scanner console = new Scanner(System.in); 

您將無法做到這一點:

if (inFile.Next == (2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012)); 

我猜你想:

if (revenue == 2005 || revenue == 2006 || ...)) { 
    sum += revenue; 
} 

或簡單地

if (revenue >= 2005 && revenue <= 2012) { 
+0

謝謝。這不是我想要做的。我有一個文件,格式如下:「藝術家年收入」。這是重複多行,不同的藝術家和年份。一些藝術家不止一次出現。我希望我的程序能夠找到用戶輸入的藝術家,然後將所有不同年份的收入相加。我第二行的嘗試是讓我的程序找到一年,跳過它,然後加起來的收入。 – Hexiom

+0

@ user2236308您使用的語法在Java中不受支持,所以您將不得不這樣做。 – Logan

+0

@Logan Dam Dully指出。我很好奇如何讓我的程序在同一行上讀取,而不是轉到下一個。我試圖創造一個迫使它這樣做的條件。謝謝。 – Hexiom

4

你在這裏缺少一個任務:

Scanner console new Scanner(System.in); 

這:

if (inFile.Next == (2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012)); 

(撇開尾隨分號)

沒有什麼是我會承認Java的。我會把它分解成更小的單元,並嘗試讓小組件一次一個地工作,否則很容易讓自己與大量的編譯錯誤混淆。

+0

謝謝。如果您不介意,我還有一個關於第二行的問題:我有一個格式如下的文件:「名稱年收入」,全部在一行中。這個名字重複了好幾次。我怎樣才能做到這一點,而不是讓我的計劃進入下一個行,它會跳過一年,並將該行的收入加起來,與其他行的收入相加? – Hexiom

+0

我不認爲我真的可以在評論中簡單回答這個問題!抱歉。也許另一個問題... –

+0

謝謝,我會問另一個問題。 – Hexiom

相關問題