-2

我不确定这里的代码有什么问题:

package assigment1;
import java.util.Scanner;

public class A1Q2 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scan = new Scanner(System.in);
    int Level;
    int PureDiamonds;
    int ImpureDiamonds;


    System.out.print("Please enter the game level (1,2,3,4...): ");
    Level = input.nextInt();

它说input cannot be resolved,问题是我有一个旧项目,input.nextInt();它正在工作。那么有什么问题呢?这让我疯狂

4

2 回答 2

0

它给你这个问题,因为input它不是范围内的变量。

假设您正在尝试从用户那里获取输入,您需要使用您的scan对象。

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scan = new Scanner(System.in);
    int Level;
    int PureDiamonds;
    int ImpureDiamonds;


    System.out.print("Please enter the game level (1,2,3,4...): "+ Level);
    Level = scan.nextInt(); // <-- this line.

我想指出的一件事,与您的问题无关,是当 Java 是一种驼峰式语言时,您使用的是PascalCase。为了保持一致性,我建议您摆脱可能的 C# 习语!:)

于 2013-09-17T01:52:35.247 回答
0

看看你的变量名。您的代码中没有任何地方声明了一个名为“input”的变量。您将扫描仪对象命名为“扫描”。

尝试

 Level = scan.nextInt();

此外,尽管它在语法上是“合法的”,但变量的正确 Java 命名约定是以小写字母开头。按照惯例,类名以大写字母开头。这有助于提高代码的可读性。

于 2013-09-17T01:54:18.993 回答