- ベストアンサー
javaのこのプログラム間違っていますか?初心者です!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Java文章(Javaコード)は括弧がついているか確認してみるといいでしょう。よく括弧がついていないときにエラーが出るから、それに該当していないかまず調べると良いかもしれませんよ。 class Hello{ public static void main(String[] args) { System.out.println("まいど!”) ; } } あなたの書いたJavaの文章(ソースコード)はこんな感じですよね。もう一つは、 cd c:\work c:\work>javac HelloWorld.java (コンパイラが通ったら) c:\work>java HelloWorld ですが、ここで環境変数をチェックさせてください。Javaをインストールしたディレクトリの中のbinディレクトリを参照する環境変数PATHをチェックしたいのです。 XP OSを例に取ってご説明すると、まず始めに、スタートボタンを押しましょう。メニューが開き中にマイコンピュータがあれば、それを右クリックしてポップアップメニューを開いてみましょう。その中にプロパティというところがあるのでそれをクリックします。システムのプロパティダイアログボックスが開いたら、その中の詳細タブをクリックしましょう。 画面の一番下に環境変数というボタンが見えるでしょうか。 このボタンをまずはクリックしてみてください。環境変数ダイアログボックスが新たに開くと思います。次に、 ユーザ環境変数(U) 変数 値 新規(ボタン)編集(ボタン)削除(ボタン) システム環境変数(S) 変数 値 新規(ボタン)編集(ボタン)削除(ボタン) と書いてあるところのシステム環境変数(S)のリストボックスの中を見てみましょう。いろいろな環境変数が書いてあると思います。 ここでなぜシステム環境変数の方なのかというと、ユーザ環境変数ですと現在ログインしているユーザ以外、(別のアカウントといいます)でログインすると他のユーザまでにこれから登録する環境変数が効果を発揮できなくなってしまうからです。 つまり、Windowsシステムそのものにこのパスを認識させ、他のユーザにもJavacが使えるようにするためにもなるので、こちらの方から環境変数を持とうということになります。 それではシステム環境変数(S)のリストボックス内を確認していきます。 リストボックス右側にある下向きの矢印vをクリックしてください。ダウンしていくリストボックスの中にはPathという環境変数が含まれているはずです。あれば、Pathをクリックして編集(I)ボタンを押してください。 システム変数の編集ダイアログボックスが開きます。先ほどからダイアログボックスというなにやら小難しい名前が出てきているのですが、日本語では対話ボックスといい、PCにあるソフトに対して何らかの設定を施したり、命令するときにこのダイアログボックスからインタラクティブに記入していくことができるようになっているのです。これによって、人間がPCに対して行っていくための処理を軽減するものとなっています。 システム変数の編集ダイアログボックスが開いていたら、 変数名(N): Path(いじってはいけない) 変数値(V):%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Common Files\Ulead Systems\MPEG;c:\program files\java\jdk1.5.0_08\bin ←Javaのパスが書いてある。 Javaのパスが書いてあることを確認してください。本来はパソコンごとにインストールされているディレクトリは違う可能性があるので一概には言えないのですが、概ねこうなっていればOKです。javac(Javaコンパイラコマンド)を起動させるための準備がこれでできていると思われます。 OKボタンを二回押して今開いてきた全てのダイアログボックスを閉じ、コマンドプロンプロから、javacと入力すると次のようなメッセージが出ればOKです。 C:\work>javac 使い方: javac <options> <source files> 使用可能なオプションには次のものがあります。 -g すべてのデバッグ情報を生成する -g:none デバッグ情報を生成しない -g:{lines,vars,source} いくつかのデバッグ情報だけを生成する -nowarn 警告を発生させない -verbose コンパイラの動作についてメッセージを出力する -deprecation 推奨されない API が使用されているソースの位置を出力 する -classpath <path> ユーザクラスファイルを検索する位置を指定する -cp <path> ユーザクラスファイルを検索する位置を指定する -sourcepath <path> 入力ソースファイルを検索する位置を指定する -bootclasspath <path> ブートストラップクラスファイルの位置を置き換える -extdirs <dirs> インストール済み拡張機能の位置を置き換える -endorseddirs <dirs> 推奨規格パスの位置を置き換える -d <directory> 生成されたクラスファイルを格納する位置を指定する -encoding <encoding> ソースファイルが使用する文字エンコーディングを指定 する -source <release> 指定されたリリースとソースの互換性を保つ -target <release> 特定の VM バージョン用のクラスファイルを生成する -version バージョン情報 -help 標準オプションの概要を出力する -X 非標準オプションの概要を出力する -J<flag> <flag> を実行システムに直接渡す C:\work> さて、それではtextエディターに class Hello{ public static void main(String[] args) { System.out.println("まいど!”) ; } } とプログラムを打ち込んで、メニューバーよりファイル(F)をクリック、名前をつけて保存(A)をクリックします。階層を移動させます。C:\workであれば、Cドライブのworkに移ると良いでしょう。 保存ボタンを押すことで、そこにHello.javaという名前でプログラムを保存が完了します。 完了したら、今度はコマンドプロンプトに戻って、 C:\work>dir と打ち込んでみてください。Hello.javaというファイルを確認しましょう。 確認できたら c:\work>javac Hello.java と打ち込んでください。これでコンパイルは完了するはずです。 もしも動かなかったり、また何かありましたら、ご連絡ください。
その他の回答 (1)
- dekopa-
- ベストアンサー率42% (161/378)
参考書にしたがって、JavaのSDKはインストールしましたか? インストールできていれば、コマンドプロンプトで C:\> java -version と打てばバージョン情報が出ます。 C:\WorkにHello.javaがあるなら、 C:\> cd work C:\Work> javac Hello.java と打てばコンパイルされて(でも上のソース、最後の"}"が二つ足りませんが)、Hello.classができます。あとは C:\Work> java Hello まいど! と実行されます。
お礼
回答ありがとうございました。 最後に}をつけるのを忘れていました・・・ とても助かりました!
関連するQ&A
- javaプログラミング この文章正確ですか?
先ほど質問させていただきましたがもう一回質問させていただきます。 class Hello{ public static void main(String[] args) { System.out.println("まいど!”) ; javaの参考書で勉強しています。 これをコンパイルしろということなんですがコマンドプロンプトが読み取ってくれません。間違いがあったら教えてください!
- ベストアンサー
- Java
- javaの基本的な質問
下記を実行すると、上から順番にメソッドが実行され、 「Hello Java Hello Java」 と表示されるような気がしてしまうのですが… なぜ、一度しか表示されないのでしょうか。 class Main { public static void main(String[] args) { hello(); } public static void hello() { System.out.println("Hello Java"); } }
- ベストアンサー
- Java
- javaのpackageのMainとは?
古い本の初心者プログラムでは、 class Hello{ public static void main(String[] args){ System.out.println("Hello!"); } } だけなんですが、統合環境の Intellij IDEAですと、 package com.company; public class Main { public static void main(String[] args) { // write your code here } } となっていて、mainメソッドを含むクラスのMainを含むpackageが必要になっています。どうしてクラスMainは他のpackageで宣言されてないとならないのですか?
- ベストアンサー
- Java
- Javaプログラムの間違いを見つけてください
下記のプログラムをマニュアル通りに入力したのですが、おそらくマニュアルにミスがあったのでしょう。どこが間違っているのか教えてください。よろしくお願いしますm_ _m class kadai1710 { public static void main (String args []) { System.out.println(args[0]); if(Integer.parselnt(args[0]) == 1) System.out.println("男性"); else System.out.println("女性"); } }
- ベストアンサー
- Java
- 超初心者です。教えてください。
初心者です。javaのマニュアル書に書いてある class Hello{ public static void main (String[] args){ System.out.println("Hi! Hello!!"); } } はコンパイルすることができたのですが、実行すると Exception in thread "main"java.lang.NoClassDefFoundError: Hello という文書が出てきますどうすればいいのでしょうか。教えてください。
- ベストアンサー
- Java
- javaのプログラムについて
java始めたばかりの者です。 class sample1 { public static void main(String[] args) { for(int i=1; i<=5; i++){ for(int j=0; j<i; j++){ System.out.println("*"); } System.out.println("\n"); } } } これを実行すると * * * * * * * * * * * * * * * こうなってしまい * ** *** **** ***** このようにするにはどうしたらいいのでしょうか??
- ベストアンサー
- 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
- JAVAについて。コンパイルができません
public class Main { public static void main(String[] args){ System.out.println("Hello World"); } } 上のソースで記述して、コマンドプロンプトでコンパイルしようとすると 下のような表示が起きます C:\Program Files\Java\jdk-12.0.1\bin>javac Main.java Main.java:1 エラー: Mainの書き込み中にエラーが発生しました: C:\Program Files\Java\ jdk-12.0.1\bin\Main.class public class Main { ^ エラー1個 何が原因でコンパイルされないかわからないです。 わかるかたいましたらよろしくお願いします。
- 締切済み
- Java
- この文章あっていますか?
public class HelloWorld { public static void main(String[] args) { String message; message = "Hello Java World !"; System.out.println(message); } } これが正解文なのですが public class HelloWorld { public static void main(String[] args) { String message; message = "Hello java World"; System.out.ptintln(message); } } この文のどこが間違っていますか?ぜんぜんわからないので誰か教えてください。
- ベストアンサー
- Java
- java 初心者ですが・・・・
教えてください。 次のプログラムの出力は「2」になるんですがイマイチ解釈できません。 分かりやすい説明などあればご教授願います。 class NarrowingConversion{ public static void main (String[] args){ byte b; int i = 258; b = (byte)i; System.out.println(b); } } よろしくお願いいたします。
- ベストアンサー
- Java
お礼
できたできた!! すげぇー! ありがとうございます。 参考書が難しくて・・・