-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.

あなたの問題とは関係なく、私が指摘したいことの1つは、Javaがキャメルケース言語であるときにPascalCase使用していることです。一貫性のために、考えられるC#イディオムを取り除くことをお勧めします!:)

于 2013-09-17T01:52:35.247 に答える
0

変数名を見てください。コードのどこにも「input」という名前の変数を宣言していません。Scanner オブジェクトに「scan」という名前を付けました。

試す

 Level = scan.nextInt();

また、構文的には「合法的」ですが、変数の適切な Java 命名規則は、変数を小文字で始めることです。慣例により、クラス名は大文字で始まります。これにより、コードが読みやすくなります。

于 2013-09-17T01:54:18.993 に答える