ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Java超入門の会mixiコミュのJavaのアプリの実行ソースコードについて。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
「Pathの設定」は成功。
「Hellow World」の表示は成功。
その次がうまくいきません。
環境:
東芝ノートパソコン2010年秋冬モデル、OSは7で64ビット、メモリ8GB。
Eclipse3.7を使ってます。

ソースコードは以下の通りです。:

package sample;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Gui extends JFrame {
  private static final long serialVersionUID = 1L;

  //ウィンドウ本体
  public Gui(){
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //ウィンドウの閉じ方
  setBounds(100,100,640,480); //位置とサイズ

//ボタン作成
JButton btn1 = new JButton("ボタン1");
add(btn1); // ボタン追加

//クリック時の処理
btn1.addActionListener(new ActionListner(){
@Override
public void actionPerformed(ActionEvent e) {
System.out.printIn("クリック");

});

   public static void main(String[] args)
    Gui frm = new Gui(); // ウィンドウ作成
frm.setVisible(true); // 表示



これで、実行すると、コンソールで、

エラー:メイン・メソッドがクラスGuiで見つかりません。次のように
メイン・メソッドを定義してください。
  public static void main(String[] args)

と表示されるので、public static void main(String[] args)をコピーして
貼り付けてもうまくいきません。

ご教授宜しくお願いします。m(__)m

コメント(7)

もう解決されたかもしれませんが・・・。
正しく書くと、こういうコードになります↓
http://ideone.com/6XxLqW

括弧の対応が取れていない、
typoがあった、
main()の定義位置がおかしい
などなど、ツッコミどころが多いので、基本的なところから勉強した方がよろしいかと思われます。
koturn@がんばらないさん、回答ありがとうございます。
風邪で安静にしてたので、レスが遅れた事をお詫びします。
Eclipseで動作確認できました。
Javaで初心者向けの本、どんな本があるでしょうか?
Amazonで色々調べたり、何冊か購入しましたが、なかなか
先に進みません。
自然言語(英語)はある程度できますが、プログラミング言語は
さっぱりです。
しかし、プログラミング言語を最低1つは身に付ける必要があるので
勉強中です。
春になったばかりで体調を崩しやすい時期なので、体調には気をつけてくださいね。
英語が勉強中の身ですので、ある程度英語ができる、というのは羨ましいです。


さて、本題です↓
初心者向けの入門書は、ありがちですが、
結城浩著:『Java言語プログラミングレッスン』
ですかね。
僕の場合は、大学の講義でこの本を教科書としていて、それで勉強しました。

でも、既にある程度の本を購入なさっているのなら、新しく追加で購入せずに、ご購入なさった本で学習するのがよいかと思います。


そういった入門書で、
System.out.println()、変数、配列、制御文(if, switch, while, for)、クラス、標準入出力、ファイル入出力
などの基礎的事項や、文法事項を理解したら、
『○○を作る!』と、目標を持ち、ネットの情報を逆引きリファレンス代わりに利用して、実践練習していくと、
上達につながると思います。

実践が一番上達し、モチベーションが保てる手段だと思うので。


『○○を作る!』といっても、ものすごいものを作ろうと思うのではなく、まずは出来そうなことから始めてみるのがよいかもしれませんね。
例えば、
ジャンケンゲーム、トランプゲーム、UNO、英単語学習ゲーム
などを作ってみるとか。

GUIで作るとしんどいかもしれないので、まずはCUIで作るのがよいと思います。




最後に、今回の質問事項に対する補足です。
mainメソッドについて説明をしているものをいくつか見つけたので、読んでみてください↓
http://www.kab-studio.biz/Programing/OOPinJava/04/05.html
http://www.javaroad.jp/java_basic1.htm
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1072988390
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88


端的に言って、Javaプログラムは、
最初にmainメソッドを探し、
mainメソッドに書かれていることだけを実行します(厳密には違いますが)。

なので、
エラー:メイン・メソッドがクラスGuiで見つかりません。次のように
メイン・メソッドを定義してください。
  public static void main(String[] args)

というエラーは、
mainメソッドが無い=プログラムの開始部分が無い
だから、プログラムを実行しようにも出来ないよ
と言っているわけです。




以下の話は、少し複雑なので、無視していただいてかまいません。
また、なんとなく覚えていることなので、詳しい方から見ればツッコミどころが満載かもしれませんし(^^;)

GUIのウィンドウに関しては、少し複雑で、
ウィンドウが生成されると同時に、内部で自動的にJVM(Java仮想マシン)によって、ウィンドウのインスタンスが管理される
という仕組みになっていたと記憶しています(間違っていたらごめんなさい)。

なので、今回のプログラムでは、
Gui frm = new Gui();
で、ウィンドウを作成し、
frm.setVisible(true);
で、ウィンドウを表示し、
mainメソッドの実行は終了しますが、ウィンドウ管理用のスレッドが生き残って、×ボタンを押すまで、ウィンドウが生き残るようになっています。


以上、長文となって申し訳ありませんでしたm(__)m
>でも、既にある程度の本を購入なさっているのなら、新しく追加で購入せずに、
>ご購入なさった本で学習するのがよいかと思います。

そうします。

>System.out.println()、変数、配列、制御文(if, switch, while, for)、
>クラス、標準入出力、ファイル入出力 などの基礎的事項や、文法事項を理解
>したら、 『○○を作る!』と、目標を持ち、ネットの情報を逆引き
>リファレンス代わりに利用して、実践練習していくと、 上達につながる
>と思います。

基礎的事項や、文法事項で躓く可能性が高いですが。
とにかくやってみますね。

>実践が一番上達し、モチベーションが保てる手段だと思うので。

英語と同じですね。

アドバイスありがとうございます。
また躓いたら質問させて頂きます。

あと、ソースコードを書くときは、TeraPadで書いた方が良いのでしょうか?
> あと、ソースコードを書くときは、TeraPadで書いた方が良いのでしょうか?
うーん、難しい質問ですね(^^;)


あくまで、僕の意見ですが↓
TeraPadでソースコード書いて、コンパイル&実行というのは効率が悪いと思います。
Eclipseのリアルタイム文法チェックは、非常に強力な機能で、学習効率がかなり上がると思うので、
普段はEclipse上でソースコードを書いて、コンパイル&実行をして、学習を進めるといいと思いますよ。


でも、10回ぐらいはTeraPadのようなテキストエディタでソースコードを書いて、
コマンドプロンプトでコンパイル、
ということを経験しておいた方がいいと思います。

また、ある程度Javaの学習を進めて、パッケージやクラスパス、Jarファイルなどについて勉強するときにも、
コマンドプロンプトからコンパイル&実行
ということを練習して、仕組みをちゃんと理解することが大事だと思います。
>でも、10回ぐらいはTeraPadのようなテキストエディタでソースコードを書いて、
>コマンドプロンプトでコンパイル、 ということを経験しておいた方がいいと
>思います。

そうですか。

「スッキリわかるJava入門」のKindle版を買おうかどうしようか
迷っています。紙の本だと2730円。Kindle本だと2095円。
KindleFire HD 16GB 7インチを持ってます。

手元にあるのは、
「これならわかるJava入門の入門」
「Javaを独習する前に読む本」
「世界で1番簡単なJavaのe本」
「Eclipse3ではじめるJavaプログラミング入門」
ですが、どれも挫折したんですよね。
Web開発の便利ツールを無料で提供しています。
http://icloud.sakura.ne.jp/
今現在提供しているツールは以下となります。
・Base64符号化/復号化
・SQLよりソースコード生成
・HTML、XML、JSON、配列のフォーマット
・SQLフォーマット
・HTML カラーピッカー
・画像カラーピッカー
・画像をBase64に変換
・HTML、XMLエスケープ
・URLエンコード/デコード
・Native2ASCIIのWeb版

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Java超入門の会mixi 更新情報

Java超入門の会mixiのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング