2017-03-11 15 views
0

私は多くの研究を行い、問題の解決方法を見つけることができませんでした。私は、この質問をする人がたくさんいることに気づきましたが、それでも誰も私に答えてくれませんでした。端末でJavaクラスを実行するには

私は初心者です。私はEclipseで簡単な電卓を作った。

import java.util.Scanner; 

public class Calculator { 

    public static void main(String[] args) { 

     Scanner numInput = new Scanner(System.in); 

     double fnum, snum; 
     String operation; 

     System.out.println("First number: "); 
     fnum = numInput.nextDouble(); 

     System.out.println("Second number: "); 
     snum = numInput.nextDouble(); 

     Scanner oper = new Scanner(System.in); 
     System.out.println("Please select one of the following operations: "); 
     System.out.println("+"); 
     System.out.println("-"); 
     System.out.println("/"); 
     System.out.println("*"); 

     operation = oper.next(); 

     switch (operation){ 

      case "+": 
       System.out.println("Your answer is: " + (fnum + snum)); 
       break; 

      case "-": 
       System.out.println("Your answer is: " + (fnum - snum)); 
       break; 

      case "*": 
       System.out.println("Your answer is: " + (fnum * snum)); 
       break; 

      case "/": 
       System.out.println("Your answer is: " + (fnum/snum)); 
       break; 
     } 
    } 

} 

後で、私はWorkspaceフォルダに入ってCalculator.classファイルを見つけました。

私はターミナル開き、入力された:

Danylo-RIB:~ mac$ java /Users/mac/Documents/workspace/Calculator/bin/Calculator.class 

私はMacOSのターミナル内のクラスを実行する方法のすべての指示に従ったが、代わりに私のプログラムの私は、端末での答えを得たすべてだった:

Danylo-RIB:~ mac$ java /Users/mac/Documents/workspace/Calculator/bin/Calculator.class 
Error: Could not find or load main class .Users.mac.Documents.workspace.Calculator.bin.Calculator.class 
Danylo-RIB:~ mac$ 

私の質問は、どうすればいいですか?ターミナルでクラスを実行するにはどうすればよいですか?

編集:さて、私の質問に答えた人のおかげでよかった!あなたのCalculator.javaファイルが格納されているディレクトリに

+0

なぜEclipseから実行しないのですか? –

+0

コンパイル時に_file name_を記述してコンパイルします。実行時にクラスパスを設定し、実行する_class name_を記述します。これは、新しいJavaプログラマーにとっては難しいことです。 –

答えて

1

cdが、これはファイルCalculator.classを作成します

javac Calculator.java 

を実行します。これで、追加すべき.classがないことを

java Calculator 

心でコンパイルされたクラスを実行することができます!

1

オンラインドキュメントは、あなたの最初の償還請求する必要があります:これは、あなたが読むことができるコマンドラインは、より多くの深さで

java [options] classname [args] 

であることを教え、そしてどこかにそのページ上からリンクされている https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html https://docs.oracle.com/javase/8/docs/technotes/tools/unix/classpath.html#CBHHCGFB

これは、ほぼすべてのJavaツールに適用されます。これらのドキュメントには、あなたの質問に対する答えが含まれています。 cdのいずれかをクラスパスのルートディレクトリに入れ、デフォルトのクラスパスを使用するか、クラスパスの最上部にディレクトリ(-ies)を設定するためにドキュメントに記述されているクラスパスオプションを使用します。例えば、コマンドラインから

java -cp /Users/mac/Documents/workspace/Calculator/bin Calculator 
+1

@Ribchinski他の回答は初心者の方がまだ*パッケージで作業していない*ので、後で行います。したがって、それらはあなたの問題の一時的な解決策に過ぎません。 –

0

>javac Calculator.java

それはCalculator.classファイルを生成します。 その後

>java Calculator

それが主な方法を見つけた場合、プログラムを実行します。

(Java環境変数を設定しなければならないとCalculator.javaが保存されているフォルダから、それを実行しなければなりません。)

Eclipseを使用している場合は、単にEclipseのツールバーから[再生]ボタンを押してください。

enter image description here

私はこのことができます願っています。

0

もう1つの方法は、実行可能な.jarファイルを作成することです。

まず、クラスのjarファイルをエクスポートする必要があります。これを行うには、.javaファイルを右クリックします。その後、図のようにExport > Runnable Jarファイル。

次のステップは、端末でjava -jar your_runnable_jar_file.jarで実行することです。

Exporing jar file

関連する問題