質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

5回答

342閲覧

javaのメソッドエラーについて

Casablanca_mtg

総合スコア209

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/05/22 03:46

編集2018/05/22 04:07

お世話になっております
すっきりわかるjava入門で勉強しています
下記のコードを記述してコンパイルをするとエラーになります

Main.java

1public class Main { 2 public static void hello() { 3 System.out.println(" こんにちは"); 4 } 5} 6

Main.javaはDesktopに置いています
書籍とおりでの記述ですが下記のようになるのはなぜですか?
イメージ説明

moriuchi:Desktop mtg-1$ javac Main.java
moriuchi:Desktop mtg-1$ java Main
エラー: メイン・メソッドがクラスMainで見つかりません。次のようにメイン・メソッドを定義してください。
public static void main(String[] args)
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります

public class Main {
public static void main(String[] args) {
System.out.println(" こんにちは");
}
}
このようにすれば”こんにちは”と表示出来ます
helloというメソッドではなにが不足しているのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

Javaプログラムは必ず、public static void main(String[] args)から開始します。メソッド名を変えたり、引数を変えたりしたら動きません。

java

1 public static void hello() {

だと、プログラムの開始点(エントリーポイント)がないため動作しません。

投稿2018/05/22 03:50

webarata3

総合スコア367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2018/05/22 04:10

有難うございます。書籍では追加画像のように説明しております helloメソッドを使うならばどうすれば良いのでしょうか?確かに public class Main { public static void main(String[] args) { System.out.println(" こんにちは"); } } にすればきちんと表示できます。よく意味が分かりません
maisumakun

2018/05/22 04:14 編集

helloというメソッドがあっても一向に構わないのですが、「main」というメソッドがないと、そのクラスからの実行はできません(コンパイルは可能です)。 ・mainメソッドからhelloメソッドを呼び出す ・別のクラスから呼び出す などの使い方で使うことになります。
guest

0

ベストアンサー

kasaburanka さんへ

解決方法はほかの方のおっしゃる通りです。

他の方の回答のところのコメント欄に

書籍では追加画像のように説明しております
helloメソッドを使うならばどうすれば良いのでしょうか?

とあったのでそこの説明をしたいと思います。

mainメソッドとは別にhelloメソッドを作成し、mainメソッドにhelloメソッドを呼び出す方法があります。

Java

1public class Main { 2 public static void main(String[] args){ 3 hello(); 4 } 5 public static void hello(){ 6 System.out.println("こんにちは"); 7 } 8}

投稿2018/05/22 04:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2018/05/22 05:13

有難うございます。途中だったのですね理解出来ました
guest

0

おそらくですが、このサイトを見ればわかるかと思います。
https://ja.stackoverflow.com/questions/6461/

投稿2018/05/22 08:28

busper_s

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2018/05/22 08:39

ありがとうございます 理解はできました。メソッドの定義だけではだめで必ず呼び出して また public static void main(String[] args) {が必須だとわかりました
guest

0

この場合
public static void hello() {
のところを
public static void main (String[] args) {
にしてはどうでしょうか
方法はほかにありますが、おそらく入門の

投稿2018/05/22 04:10

busper_s

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2018/05/22 04:14

ありがとうございます そうすればきちんと表示されます また、JavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要があります⇨どうやって拡張するのでしょうか?
guest

0

実行時に開始したいメソッドの名前はmainにしないといけません。

投稿2018/05/22 03:49

fiveHundred

総合スコア9774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問