Я недавно начал изучать Java и успешно написал и скомпилировал собственное приложение (написанное в Sublime Text, текстовом редакторе и скомпилированное с помощью javac).
Приложение отлично запускается при запуске через терминал (или из командной строки, если я нахожусь на моем ПК с Windows), но если я пытаюсь запустить его из самого файла (в 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)
Во всяком случае, я не уверен, почему это приложение, когда оно скомпилировано, функционирует только при запуске из CLI с использованием "java DegreesConversion", а не при двойном щелчке. Я искал ответы на этот вопрос в Google и Stackoverflow, но не нашел ничего похожего на подходящее решение или подсказку, почему это так.
Я считаю, что файлы Java .class не могут быть выполнены так же, как .jars?
Любая помощь будет принята с благодарностью!