2016-07-12 2 views
0

私はちょうどJAVAの学習を始めました。私は非常にシンプルな何かをしようとしています:プロンプトでユーザーからの引数を要求します。私はこのコードを作った:スキャナクラスを使用できません

import java.util.Scanner; 

public class Request 
{ 
    public static void main (String[] args) 
    { 
     Scanner s = new Scanner(System.in); 
     System.out.println("What's your name?"); 
     String name = s.nextLine(); 
     System.out.println("Welcome " + name); 
    } 
} 

その後、私はそれをコンパイルし、私が代わりにパラメータ を期待して、プロンプトの

Java -cp Request 

でそれを実行したとき、私かのようにそれはJAVAコマンドのすべてのオプションを表示します

java -help 

なぜそれが起こったのですか?

答えて

2

java Request、またはおそらくjava -cp . Requestを使用してください。 -cpオプションは、クラスパスをJVMに提供します。これは、.classファイルを含むjarまたはディレクトリのリストにする必要があります。

Klitosに言及しているように、CLASSPATHの環境変数をデフォルトのクラスパスに設定することができます。現在のディレクトリ.を含むように設定するのが一般的であり、Javaを呼び出すときには-cp .を使用する必要がありません。

Windowsでは、変数は%CLASSPATH%で、; - 分離されたWindowsのpathesのリストです。
Linux(およびMacOS AFAIK)では、変数は$CLASSPATHであり、:のunixのpathesの分離されたリストです。

+0

愚かなエラー、ありがとうございます。私は、Javaコマンドを-cpなしで使用することに成功していませんでした。私は多くのチュートリアルを読んだが、何も働かなかった。 Javaコマンドは常に動作しますが、cpがなければクラスは決して見つかりません。ですから、私はちょっと-cpを使う必要があります。 –

+1

@FernandoAnaelCabral CLASSPATH環境変数を確認してください。ディレクトリxに設定されている場合、Javaはディレクトリx内でクラスファイルのみを検索します。コマンドラインで-cpを指定すると、CLASSPATH変数が上書きされます。毎回-cpを使用することを避けるには、CLASSPATH変数を削除するか、必要に応じて追加します。 (現在のディレクトリ)をそれに割り当てます。 Linux/OSXでは ':'、ディレクトリは ';'で区切ります。 Windowsの場合 –

関連する問題