• ベストアンサー

「エディターにはメイン型が含まれていません。」

いつもお世話になっております。 public class Sample2 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。"); } } 「エディターにはメイン型が含まれていません。」 とコメントが出ます。エラーです。 どう直せばいいでしょうか? ご回答のほど宜しくお願い申し上げます。

  • Java
  • 回答数14
  • ありがとう数24

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.14

回答No.12(21:17:23)No.10(21:25:50)No.9(21:26:38)お礼 >ファイル→新規→JAVAプロジェクトで >私の場合、Sample→JREシステム・ライブラリー→jp→target 回答No.12(21:56:46)補足 >新しくSample3のプロジェクト名でやると”Hello World"ができました。 時系列でみると回答No.12の補足で解決済みと考えられます。 しかし、「Sample→JREシステム・ライブラリー→jp→target」は意味不明です。 Sampleはプロジェクト名 JREシステム・ライブラリーはEclipseが使うファイル群を保存しているフォルダーなので、そこへクラスのSample2.javaを作成できませんし、そこにjp→targetが存在しません。 回答の読解力不足し、表現力の不足によるコメントであると思います。 何故、21:56:46の補足時点で解決しているかもあなた自身が理解していないのではないでしょうか? 回答No.8を今一度熟読されることをお薦めします。

takakou9
質問者

お礼

ご回答誠にありがとうございました。

その他の回答 (13)

回答No.13

>私の場合、Sample→JREシステム・ライブラリー→jp→target それでは どこまで出来ているのか分かりません。 Javaプロジェクトは作成できていますか?、Javaプロジェクト名は分かりますか? パッケージは作成されていますか?パッケージ名は分かりますか? クラス(javaファイル)は作成できていますか?、クラス(javaファイル)の名前は分かりますか? 「プロジェクト名、パッケージ名、クラス名」が分からない場合は添付画像を参考にして下さい、[プロジェクト]→[src]フォルダーの下位がパッケージ、その下位がJavaファイル(拡張子を除くとクラス名と等価です)。

takakou9
質問者

お礼

ご回答誠にありがとうございました。 プロジェクト名 Sample3 パッケージ名  デフォルトパッケージ クラス(javaファイル) Sample3.java だと思います。

回答No.12

訂正です。 ●新規のJavaプロジェクトの作成 (メニュ-)[ファイル]→[新規]→[Javaプロジェクト] [プロジェクト名]:プロジェクト名 [完了] ●新規のクラス(javaファイル)の作成 [プロジェクト]をダブルクリック [src]から右クリック→[新規]→[クラス] [名前]:クラス名 [完了] [プロジェクト]→[src]→[パッケージ]→[Javaファイル(クラス・ファイル)]をダブルクリック 注.オリジナルのソースの先頭に「package パッケージ名;」にパッケージ名が記述されています、オリジナルのソースの「public class クラス名 {」にクラス名が記述されています、下記ソースの「パッケージ名、クラス名」を変更してから、[Javaファイル(クラス・ファイル)]にコピペして下さい。 「パッケージ名、クラス名」が分からない場合は添付画像を参考にして下さい、[プロジェクト]→[src]フォルダーの下位がパッケージ、その下位がJavaファイル(拡張子を除くとクラス名と等価です)。 package パッケージ名; public class クラス名 { public static void main(String[] args) { System.out.println("Hello world."); } } ●javaアプリケーションの実行 [プロジェクト]から右クリック→[実行]→[アプリケーション]

takakou9
質問者

お礼

ご回答誠にありがとうございました。 私の場合、Sample→JREシステム・ライブラリー→jp→target と出ます。どこを訂正すればいいでしょうか?

takakou9
質問者

補足

新しくSample3のプロジェクト名でやると”Hello World"ができました。 何時もありがとうございます。

回答No.11

●新規のJavaプロジェクトの作成 [ファイル]→[新規]→[Javaプロジェクト] [プロジェクト名]:プロジェクト名 [完了] ●新規のクラス(javaファイル)の作成 プロジェクト[test001]をダブルクリック [src]から右クリック→[新規]→[クラス] [名前]:クラス名 [完了] [プロジェクト]→[src]→[パッケージ]→[Javaファイル(クラス・ファイル)]をダブルクリック 注.オリジナルのソースの先頭に「package パッケージ名;」にパッケージ名が記述されています、オリジナルのソースの「public class クラス名 {」にクラス名が記述されています、下記ソースの「パッケージ名、クラス名」を変更してから、[Javaファイル(クラス・ファイル)]にコピペして下さい。 「パッケージ名、クラス名」が分からない場合は添付画像を参考にして下さい、[プロジェクト]→[src]フォルダーの下位がパッケージ、その下位がJavaファイル(拡張子を除くとクラス名と等価です)。 package パッケージ名; public class クラス名 { public static void main(String[] args) { System.out.println("Hello world."); } } ●javaアプリケーションの実行 [プロジェクト]から右クリック→[実行]→[アプリケーション]

takakou9
質問者

お礼

ご回答誠にありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.10

もう1つの追加情報です。 質問に提示のコードに誤りはありませんでした。 public class Sample2 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。"); } } コードの書き方は{の次の行はtabで桁送りします。 しかし、このサイトの投稿文ではtabが無視されますので表記の再現ができません。 代わりに半角の空白で桁送りしてみましたが連続する半角の空白は1個に集約されると思いますので桁送りを見て頂くには画像の提示以外に無いと思います。(先頭の空白は無視されるようです) 他の解答者も含めてコードの先頭に「package test1;」と記載していますが記載を省く方法もあります。 「パッケージ・エクスプローラー」で「クラス」を作成するには「javaプロジェクト」が必須要件になっています。しかし、「パッケージ」を省くことは可能です。 「パッケージ」を作成せずに「src」に直接「クラス」を作成するとソースファイルの先頭行に「package test1;」のような行が付きません。 従って、提示のソースコードに誤りはありません。 種々の操作手順を学習するのも後日の役に立つと思います。 どのような結果を求めるにはどのような手順が好ましいかを解説書を読みながら習得するようにしてください。

takakou9
質問者

お礼

ご回答誠にありがとうございました。                                    ファイル→新規→JAVAプロジェクトで 私の場合、Sample→JREシステム・ライブラリー→jp→target と出ます。どこを訂正すればいいでしょうか?

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.9

回答No.8の追加です。 貼付画像はUbuntu 17.04へEclipse Java EE IDE for Web Developers最新版を日本語化した環境でtakakou9さんと同じソースを動作検証したものです。 Sample2.javaのソースとパッケージ・エクスプローラーの内容を見て頂ければ関連性が分かると思います。 パッケージ・エクスプローラーのSampleは「ファイル」の「新規」から「Javaプロジェクト」を作成したプロジェクト名です。 srcはプロジェクトを作成すると自動的にできます。 test1はsrcを選択して「ファイル」の「新規」から「パッケージ」を作成したときの名前です。 test1の中にソースファイルのSample2.javaを作成するにはtest1を選択して「ファイル」の「新規」で「クラス」の名前をSample2として作成します。 右側のソースのウインドウには次のように表示されます。 package test1; public class Sample2 { } これはEclipseが自動的にソースコードの外側を生成し、プログラマーのタイプミスを減らす目的のようです。 {と}の間に1行用意されているので、そこへmainのモジュールを書き込んでデバックや実行することになります。 デバックと実行には動作環境の定義が必要なので「Javaアプリケーション」を指定します。 ソースコードにエラーが無ければソースの下側に有る「コンソール」へ出力されます。 ソースコードの絶対パスは次のようになります。 /home/kouzou/eclipse-workspace/Sample/src/test1/Sample2.java 基本的にEclipseのパッケージ・エクスプローラーでソースファイルを作成してからコーディングを行う仕組みです。 テキストエディター(gedit等)でソースを作成してOSの「ファイル」でフォルダーを作成しながら保存したときはEclipseのパッケージ・エクスプローラーへインポートする必要があると思います。 従って、「デフォルトの/home/kouzou/eclipse-workspaceに配置しております。」は使い方の誤りです。

takakou9
質問者

お礼

ご回答誠にありがとうございました。                                    ファイル→新規→JAVAプロジェクトで 私の場合、Sample→JREシステム・ライブラリー→jp→target と出ます。どこを訂正すればいいでしょうか?

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.8

あなたな悪い癖がまた出ましたね。 Linux版のEclipseでのJAVAプログラミングで入門書を参考にサンプルプログラムを動かそうとしていますか? 2名の回答者からアドバイスされていますが、その内容はWindows版のEclipseの操作に関するものと推測します。 同じツールでも使い勝手が少々異なりますので応用力が伴わないと解決に繋がりません。 回答No.1へのお礼に下記の記載があります。 「デフォルトの/home/kouzou/eclipse-workspaceに配置しております。」 これはLinux版のEclipseで指定される「ワークスペース」の位置になります。 質問者(takakou9)さんの作業環境をリモートで確認できませんので身近な指導者に同席で指導を受けないと難しいかも知れません。 Eclipseのエディションは「Eclipse Java EE IDE for Web Developers.」でしょうか? また、バージョンは「Oxygen Release(4.7.0)」でしょうか? 他の条件ですと使い勝手が異なるため説明に差異が生じます。 あなたの読解力と応用力で対応できる範囲を超えていると無駄な言葉のキャッチボールが増えるだけで解決が長引きます。 先ず、状況を整理した上で補足してください。 直前の質問ではWindows 10でEclipse日本語環境をAll In Oneをインストールすることでしたので、この質問の回答者は延長線で回答していると思います。 現状を説明することが解決の早道になるはずです。

takakou9
質問者

お礼

解りました。 ご回答誠にありがとうございました。

  • wormhole
  • ベストアンサー率28% (1619/5654)
回答No.7

>Sample2→JREシステム・ライブラリー[JavaSE1.8]→Sample2.java 本当ですか? そんなところには配置できませんよ。

takakou9
質問者

お礼

ご回答誠にありがとうございました。 もう1度やり直してみます。

回答No.6

●新規のJavaプロジェクトの作成 [ファイル]→[新規]→[Javaプロジェクト] [プロジェクト名]:test001 [完了] ●新規のクラス(javaファイル)の作成 プロジェクト[test001]をダブルクリック [src]から右クリック→[新規]→[クラス] [名前]:test [完了] プロジェクト[test001]→[src]→[test.java]をダブルクリック 下記ソースを[test.java]にコピペ package test001; public class test { public static void main(String[] args) { System.out.println("Hello world."); } } ●javaアプリケーションの実行 プロジェクト[test001]から右クリック→[実行]→[アプリケーション]

takakou9
質問者

お礼

ご回答誠にありがとうございました。 後ほどやってみます。

回答No.5

>私の聞いてるのはSample2.javaをプロジェクトのどこに配置しているかです。 つまり添付画像のようにチャント[プロジェクト]→[src]→[パッケージ]→[javaファイル(クラス)]になってますか?、と言う事が聞きたいと言う事ですね。

takakou9
質問者

お礼

Sample2→JREシステム・ライブラリー[JavaSE1.8]→Sample2.java

takakou9
質問者

補足

大変恐縮ですが 短いソースを書くのに eclipseをどう動かすか教えてもらえませんか? 「Hello World」で良いので是非教えてください。 何卒宜しくお願い申し上げます。

回答No.4

>回答No.2 amanojaku1 そちらのパッケージ名を確認し、ソースの先頭に記述して下さい。

takakou9
質問者

お礼

ご回答誠にありがとうございました。 パッケージ名 Sample2.java これはファイル名ですか? ソースの先頭の意味が解りません。 すみません。 教えてください。

takakou9
質問者

補足

大変恐縮ですが 短いソースを書くのに eclipseをどう動かすか教えてもらえませんか? 「Hello World」で良いので是非教えてください。 何卒宜しくお願い申し上げます。

関連するQ&A

  • 「エディターにはメイン型が含まれていません。」

    public class Sample4 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。");     }   } OSはUbuntu17.04でやっております。 上記でも「エディターにはメイン型が含まれていません。」 が出ました。 何処がおかしいのでしょう。 ご回答のほど宜しくお願い申し上げます。 私はさっきの皆様の回答を読み直します。

    • ベストアンサー
    • Java
  • メインメソッドの記述について

    メインメソッドを記述する際に、   public static void main(String[] args){     ~~~~~~~~~~~~~   } と書くと思いますが、なぜpublicを付けなければならないのでしょうか? 簡単に考えるために、1つのクラスのみで実行してみたのですがやはりpublicをつけないとエラーになってしまします。 1つのクラスしかないので、どこからも参照されないからpublicでなくても良いと思ったのですが・・・ ちなみに以下の様なとても簡単なもので考えました。 class E_1{ static void main(String[] args){ System.out.println("実験です"); } }

  • eclipseの基本的な使い方。

    マダマダ解っていません。 Sample4→JREシステム・ライブラリー→src→main→Sample4.java これはどうなれば正解ですか? public class Sample4 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。");     }   } エディターにはメイン型が含まれていません。 と出ます。 同様な質問で申し訳ありません。 Ctrl+F11で実行結果を出したいのです。 ご教示のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • Java何故エラーになるのですか?

    public class Sample3_1 { public static void notMain(String[] args) { System.out.println("not main"); } public static void main (String[] args) { System.out.println("こんにちは、Java"); System.out.println("私の名前は、コウゾウです。"); } } Exception in thread "main" java.lang.Error: Unresolved compilation problems: トークン "Invalid Character" に構文エラーがあります。このトークンを削除してください 構文エラーがあります。"}" を挿入して ClassBody を完了してください at Sample3_1.main(Sample3_1.java:10) "}" を挿入して」と書かれてますが、 "}" には間違いなさそうです。 どなたか解説のほどを宜しくお願い致します。

    • ベストアンサー
    • Java
  • javaでメインクラスが見つからないエラーが出てしまいます。

    javaでメインクラスが見つからないエラーが出てしまいます。 やさしい簡単なプログラム class test { public static void main(String[] args) { System.out.println("Viva!"); } } をjavacでクラスファイルを作った後に(ここまではできます)java test.class を行うと could not find the main class というエラーが出てしまいます。 教科書の通りにjdkをインストールして、パスを環境変数に通して、コマンドプロンプトでコンパイルしかしていません。 なにが悪いんでしょうか?

    • ベストアンサー
    • Java
  • classが作られない

    javaをはじめて2日目です。以下がコンパイルしたところ、エラーがでなかったのですが、classが作られていません。何回か試したのですが、参考書には、 >javac Sample2.java とし、もう一度ディレクトリ名が出れば、コンパイル完了とあるのですが、classが作れていないので、実行が出来ません。 すみませんが、教えてください。 //画面に文字を出力するコード class Sample1 { public static void main(String args[]) { System.out.println("ようこそjavaへ!"); System.out.println("javaをはじめましょう!"); } } ちなみに保存名は、Sample2.javaです。

    • ベストアンサー
    • Java
  • メインメソッド無しでJavaを実行する方法

    Javaにメインメソッドってあるじゃん。public static void main(string[] args){;}でお馴染みのアレです。 Javaを実行するには、javaコマンドの引数に.classファイルのファイル名を指定するよね。んで、その.classファイルにメインメソッドを含んでいる必要があって、Javaを実行するにはメインメソッドが必須だそうです。このように、参考書やWEBなどあちこちに書いてあります。 しかし、メインメソッド必須というのは、厳密には間違いなんだそうです。メインメソッドが無くてもJavaを動かす裏ワザがあると、↓のブログに書いてありました。(基本はメインメソッドだとは思うのですが) http://blogs.wankuma.com/kacchan6/archive/2007/07/24/86663.aspx ここにプログラムがザックリ書いてあったのですが、本当に動くんですか? public class MimeticMain{ static boolean init = caller(); public static boolean caller(){ System.out.println("main()が無くても動く"); return true; } } -- これを動かすと、「main()が無くても動く」と表示するんですかね。私がやると、エラーになっちゃったのですが。 エラー: メイン・メソッドがクラスMimeticMainで見つかりません。次のようにメイン・メソッドを定義してください。 public static void main(String[] args) ーー あと、staticイニシャライザーを使うと、メインメソッドが無くても動くと、冒頭に書いてあります。自分なりに調べて書いてみたんですが、エラーですね。 public class MimeticMain{ public static void mMain(){System.out.println("main()が無くても動く");} static{mMain();} } メインメソッドが無くても動くって、本当?そのコードを書けますか?10行50ワード以下の簡単なプログラムで良いと思いますが。 2007年のブログらしく、当時の古いバージョンのJavaならば動くのかしら?Javaも仕様がどんどん変わっていて、バージョンアップするとメインメソッド必須になったのかしら?

    • ベストアンサー
    • Java
  • java 実行できない

    javaで public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); } } のようなプログラムをかいて、コンパイルして、実行しようとすると エラー: メイン・メソッドがクラスStringで見つかりません。次のようにメイン・メソッドを定義してください。 public static void main(String[] args) またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必要がありま というエラーがでます。コンパイルはできます。jdkは1.8.0_25を使っています。

  • Javaについて教えてください!

    sampleパッケージに属するMain.javaとSub.javaがあり、Main.javaのmainはSub.javaのsubメソッドを呼び出して「OK」と表示させるプログラムを教えてください! //Main.java package sample; public class Main{ public static void main(String[] args){ Sub.sub(); }} //Sub.java package sample; public class Sub{ static String str = "OK"; public static void sub(){ System.out.println(str); }} String型の変数strはクラス変数で行いたいのですが、どこを改善すれば良いでしょうか?

    • ベストアンサー
    • Java
  • mainクラスのpublicの意味を教えて下さい

     お早う御座います、JAVA初心者です、宜しくお願いします。  main クラスの public をコメントアウトしてもエラーもなく走ります。  これは、「public static void main(String[] args)」を持っているクラスを自動的に「main クラス」と判断しているということでしょうか。 ============================================================ class Sub { void disp() { System.out.println(" a "); } } /*public*/ class Main { public static void main(String[] args) { Sub s = new Sub(); s.disp(); } }

    • ベストアンサー
    • Java

専門家に質問してみよう