0

我第一次尝试在我的 Mac (OS X 10.6.8) 上使用 Java。一个简单的“Hello World”示例可以正常工作。但是,现在我正在尝试通过命令提示符输入数据,并且编译在语法上失败,需要一个分号。代码来自 DS Malik 所著的书:“Java Programming: From Problem Analysis to Program Design”,第 5 版。

编译错误是:

javac Example2_17.java
Example2_17.java:18: ';' expected
    firstName console.next();
                     ^
1 error

java版本是:

java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-10M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

java代码是:

import java.util.*;

public class Example2_17
{

  static Scanner console = new Scanner(System.in);

  public static void main(String[] args)
  {
    String firstName;
    String lastName;

    int age;
    double weight;

    System.out.println("Enter first name, last name, age, and weight separated by spaces.");

    firstName console.next(); // <----------- ERROR HERE!
    //lastName console.next();
    //age console.nextIng();
    //weight console.nextDouble();

    //System.out.println("Name: " + firstName + " " + lastName);

    //System.out.println("Age: " + age);
    //System.out.println("Weight: " + weight);
  }
}

任何帮助是极大的赞赏。

谢谢!

4

3 回答 3

2

您缺少赋值运算符=

firstName = console.next();

;如果没有运算符,编译器会将该语句视为声明,因此当它在预期位置找不到时会抱怨。

于 2013-09-15T21:46:35.060 回答
1

您似乎在 firstName 后缺少等号。

是..

firstName console.next();

应该...

firstName = console.next();
于 2013-09-15T21:47:57.847 回答
0

您必须使用 try 和 catch 语句。必须有异常或使用 throwIOException。还有另一个错误 /age console.nextIng(); 您添加了 Int 而不是 int,这可能是导致错误的另一个原因。您还忘记了将提取的数据存储到本地变量中的“=”操作符。`

于 2017-02-07T22:30:09.393 回答