我不确定这里的代码有什么问题:
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();
的旧项目,它正在运作。那有什么不对?这让我发疯了
答案 0 :(得分: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语言时您正在使用camelCase。我建议您删除可能的C#惯用语以保持一致性清酒! :)
答案 1 :(得分:0)
查看您的变量名称。在代码中没有您声明名为'input'的变量。您将扫描仪对象命名为“扫描”。
尝试
Level = scan.nextInt();
此外,尽管它在语法上是“合法的”,但变量的正确Java命名约定是以小写字母开头。按照惯例,类名以大写字母开头。这有助于提高代码的可读性。