最近Javaを学び始めました。自分のアプリケーションを作成してコンパイルすることができました。(テキストエディタSublime Textで書かれ、javacでコンパイルされました。Javaアプリケーションは、ターミナル/コマンドプロンプトから起動したときにのみ機能します。
アプリケーションは、ターミナル(Windows PCの場合はコマンドプロンプト)で起動すると完全に動作しますが、ファイル自体から起動しようとすると(WindowsではダブルクリックしてJavaが開いていることを確認します - 方法、または私のUbuntuラップトップで、実行可能にして同じことをする)私は非常に短い負荷のカーソルを取得し、その後は何もしません。
アプリケーション(摂氏と華氏との間で変換する)は、単純なSwingダイアログを使用してユーザーの入力を取得し、結果を表示します。
import javax.swing.*;
public class DegreesConversion
{
public static void main(String [] args)
{
String input = JOptionPane.showInputDialog("Enter a temperature followed by either C for Celcius or F for Fahrenheit\nE.g. 30C or 86F");
int degrees = Integer.parseInt(input.substring(0,input.length()-1));
switch (input.toLowerCase().contains("f") ? 0 : input.toLowerCase().contains("c") ? 1 : 2){
case 1:
JOptionPane.showMessageDialog(null,(((degrees*9)/5)+32)+" degrees Fahrenheit", "Conversion complete", JOptionPane.INFORMATION_MESSAGE);
break;
case 0:
JOptionPane.showMessageDialog(null,(((degrees-32)*5)/9)+" degrees Celcius","Conversion complete",JOptionPane.INFORMATION_MESSAGE);
break;
default:
JOptionPane.showMessageDialog(null, "The input you entered was not recognised!","Unknown input", JOptionPane.ERROR_MESSAGE);
break;
}
}
}
(これは重大またはひどく機能のアプリケーションであることを意味し、それは単にJavaで何かを作るのが私自身の試みだったされるものではない)
とにかく、私はなぜこのわかりませんアプリケーションはコンパイル時に、「java DegreesConversion」を使用してCLIから起動されたときにのみ機能し、ダブルクリックで起動されると機能しません。私はGoogleとStackoverflow上でこれに関する答えを探しているが、関連する解決策やヒントの近くにこれがなぜそうであるかについては何も見つけられていない。
私はJavaの.classファイルを.jarsと同じに実行できないと考えていますか? ご協力いただければ幸いです!
あなたが上をダブルクリックするのですか?クラスファイル、Javaファイル?あなた自身があなたのコマンドを 'java classname'でなければならず、' java classname.java'や 'java classname.class'でなければ、どちらもうまく動作しません。 – stryba
アプリケーションを起動するシェルスクリプトまたはcmdファイルを作成しましたか? –
私は、.classファイルが私が見た.jarsのように動作するという印象を受けました。スクリプトはうまくいきましたが、ダブルクリックで起動したときに機能するようになっていました。 – Frohman