Java 有错误,但我不知道它们是什么意思

Java 有错误,但我不知道它们是什么意思,java,compiler-errors,Java,Compiler Errors,我正试图编译一个程序,但我不断地遇到一些我以前从未见过的错误。这是我的节目: 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 F

我正试图编译一个程序,但我不断地遇到一些我以前从未见过的错误。这是我的节目:

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]

如果有人碰巧看到任何其他错误,请随意指出。谢谢。

您缺少一个赋值运算符
=

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) {

如果(revenue>=2005&&revenue您缺少赋值运算符
=

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) {

如果(revenue>=2005&&revenue您在此处缺少作业:

Scanner console new Scanner(System.in);
这是:

if (inFile.Next == (2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012) );
(撇开后面的分号)


我在Java中无法识别。我会将其分解为更小的单元,并尝试让小组件一次一个地工作,否则很容易被大量编译器错误所迷惑。

您在这里缺少一个赋值:

Scanner console new Scanner(System.in);
这是:

if (inFile.Next == (2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012) );
(撇开后面的分号)


在Java中我无法识别。我会将其分解成更小的单元,并尝试让小组件一次一个地工作,否则很容易被大量的编译器错误所迷惑。

如果你在学习Java,我认为你应该从更简单的Java示例开始。你的代码有基本的语法错误…如果你是你在学习Java,我想你应该从更简单的Java示例开始。你的代码有基本的语法错误…谢谢。如果你不介意,我还有一个关于第二行的问题:我有一个格式如下的文件:“名称年收入”,全部在一行中。名称重复了好几次。我如何才能做到这一点,而不是让我的程序转到下一行,它将跳过一年,将该行的收入与其他行的收入相加?我认为我不能在评论中简单地回答这个问题!对不起。也许还有一个问题……谢谢,我会问另一个问题。谢谢u、 如果你不介意的话,我还有一个关于第二行的问题:我有一个格式如下的文件:“命名年收入”,全部在一行中。名称重复了好几次。我如何才能做到这一点,而不是让我的程序转到下一行,它将跳过一年,将该行的收入与其他行的收入相加?我认为我不能在评论中简单地回答这个问题!对不起。也许还有一个问题……谢谢,我会问另一个问题。谢谢u、 这不是我想要做的。我有一个文件,格式是:“艺术家年收入”。这在几行中重复,使用不同的艺术家和年份。有些艺术家出现不止一次。我希望我的程序通过用户输入找到艺术家,然后将所有不同年份的收入加起来。我在第二行中的尝试是让我的程序找到年份,跳过它,然后将收入加起来。@user2236308语法yo“Java不支持u have used,所以您必须这样做。@Logan Dam Dully指出。我很好奇如何使我的程序在同一行上读取,而不是转到下一行。我试图创建一个条件来强制它这样做。谢谢。@user2236308如果您可以更改文件的格式,您可以包含del。”当你读这行并提取你需要的数据时,imiters和搜索那些分隔符。谢谢。这不是我想要做的。我有一个文件,格式如下:“艺术家年收入”。这在几行中重复,使用不同的艺术家和年份。有些艺术家出现不止一次。我希望我的程序通过用户输入找到艺术家,然后将所有不同年份的收入加起来。我在第二行中的尝试是让我的程序找到年份,跳过它,然后将收入加起来。@user2236308语法yo“Java不支持u have used,所以您必须这样做。@Logan Dam Dully指出。我很好奇如何使我的程序在同一行上读取,而不是转到下一行。我试图创建一个条件来强制它这样做。谢谢。@user2236308如果您可以更改文件的格式,您可以包含del。”当您读取行并提取所需的数据时,imiters和搜索这些分隔符。