Получение ошибки JShell: ';' ожидается для базовой программы HelloWorld.java

Только когда-либо использовал IDE для разработки на Java и хотел узнать, как использовать JShell, но я получаю следующую ошибку для простого примера приветствия и всего, что я пытаюсь сделать. Не понимаю, где ';' исходит ошибка.
|javac HelloWorld.java
| Ошибка:
| ';' ожидается
| javac HelloWorld.java;

код для HelloWorld.java

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World");
  }
}


person Alexander Wilson    schedule 05.11.2018    source источник
comment
Не удалось соотнести с используемой командной строкой и общим кодом, как это было выполнено с помощью jshell?   -  person Naman    schedule 06.11.2018


Ответы (2)


Вы не компилируете в JShell, вы можете добавить основной метод, а затем вызвать его

 public static void main(String[] args) {
     System.out.println("Hello World");
    }
 }

 main(null);

В следующих примерах показано определение метода и запуск метода:

jshell> String grade(int testScore) {
 .....
 jshell> grade(88)
person user7294900    schedule 05.11.2018

Вот две разные программы «hello world»:

thufir@dur:~/jshell$ 
thufir@dur:~/jshell$ java hello.java
Hello World from Java
thufir@dur:~/jshell$ 
thufir@dur:~/jshell$ cat hello.java
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World from Java");
  }
}


thufir@dur:~/jshell$ 
thufir@dur:~/jshell$ jshell hello.jsh
Hello World
thufir@dur:~/jshell$ 
thufir@dur:~/jshell$ ./hello.jsh 
jshell 11.0.1
Hello World
thufir@dur:~/jshell$ 
thufir@dur:~/jshell$ cat hello.jsh 
//usr/bin/env jshell --show-version "$0" "$@"; exit $?
System.out.println("Hello World")
/exit
thufir@dur:~/jshell$ 

скрипт .jsh или JShell является исполняемым, поэтому может выполняться несколькими способами. Надеюсь, это поможет.

person Thufir    schedule 20.12.2018