2017-09-18 4 views
0

1つの実行可能ファイルでどのようにこれらのクラスを両方とも実行できるでしょうか。私は答えがとてもシンプルなので、これは初めてです。もしあなたが私をそこまで歩き回ることができたら、私はそれを感謝します。お時間をいただきありがとうございます。これらの2つのクラスを実行できる3番目のクラスを作成するにはどうすればよいですか?

import java.util.HashSet; 

public class Prog2 { 
    public static boolean sameElements(int[] A, int[] B){ 
     boolean same = false; 
     HashSet<Integer> hashSet = new HashSet<Integer>(); 
     for(int i = 0; i < A.length; i++){ 
      hashSet.add(A[i]); 
     } 
     for(int i = 0; i < B.length; i++){ 
      if(hashSet.contains(B[i])){ 
       hashSet.remove(B[i]); 
      } 
     } 
     if(hashSet.isEmpty()){ 
      same = true; 
     } 
     return same; 
    } 
} 

public class Prog3 { 
    public static void inRun(int[] A){ 
     boolean inRun = false; 
     for(int i = 0; i < A.length; i++){ 
      if(inRun) { 
       if (A[i] != A[i - 1]) { 
        System.out.print(')'); 
        inRun = false; 
       } 
      } 
      else{ 
       if(i + 1 < A.length && A[i] == A[i + 1]){ 
        System.out.print('('); 
        inRun = true; 
       } 
      } 
      System.out.print(" " + A[i] + " "); 
     } 
     if(inRun){ 
      System.out.print(')'); 
     } 
    } 
} 
+0

[WindowsのコマンドラインからJavaプログラムを実行するにはどうすればよいですか?](https://stackoverflow.com/questions/16137713/how- do-i-run-a-java-program-from-the-command-line-on-windows) – nullpointer

+0

JarやネイティブExeのようなバイナリ実行可能ファイルにそれらをラップしたいのですか?それとも、あなた自身がそれを実行することができる第三のクラスを持っていたいということですか? – MadProgrammer

+0

を明記してください。 jarファイルに両方を追加したいのかどうかはわかりません –

答えて

0

クラスにはmain機能がないため実行できません。 しかし、もし彼らがmain関数を持っていたら:

まず、両方ともパブリッククラスなので、それぞれを独自のファイルに入れる必要があります。 (すなわち、Prog2.javaとProg3.java)また、同じパッケージになるので、両方のファイルの先頭にpackage com.domain.progs;を追加します。

第2に、あるクラスを別のクラスから呼び出す必要があります。だから、PROG2のmain機能でこれを置く:

Prog3.main(); 

第三に、あなたはjarファイルにパッケージ全体を配置する必要があります。 ソースディレクトリにあなたのパッケージ構造は次のようになります。あなたのうち(またはビンなど)の代わりにjavaファイルの^が、とクラスファイルのように見えるよう

com 
|____domain 
    |_______progs 
      |______Prog2.java 
      |______Prog3.java 

は、ファイルをコンパイルします。

第4に、実行するクラスを指定するマニフェストファイルを作成します。ファイルに タイプこれは(末尾の空白を含まないようにしてください)MANIFEST.MFと呼ばれる:

Main-Class: com.domain.progs.Prog2 

最後に、jarファイルにすべてを追加します。 私が使用する正確な構文を覚えていないが、私はそれがこので始まる知っている:

jar cvmf ... 

だけjarコマンドの構文を調べ、マニフェストファイルとクラスファイルを持っているcomディレクトリが含まれていることを確認してください、Javaのものではありません

それです。 jarファイルを実行できるようになりました。 このコマンドを入力するには、次のコマンドを入力します。

java -jar JarFileName.jar 

P.S. ダブルクリックして実行できるものが必要な場合は、GUIアプリケーションでなければなりません。それ以外の場合は、プログラムを表示するためのコンソールを起動しません

関連する問題