• ベストアンサー

エラーメッセイジの意味は2

javaの勉強中です。次のソースコードを作成しました ファイル名はMyOperator1.java です。 /** * 演算子の使用例1(加減剰余、剰余) * / public class MyOperator1 { public static void main (String)[] args) { int i= 20 ; int J= 3 ; // 足し算 int plus = i+j; // 引き算 int minus = i-j; // 割り算 int div = i/j ; // 掛け算 int multi = i*j ; // 剰余 int mod = i%j; System.out.println (i+"+"+j+"="+plus) ; System.out.println (i+"-"+j+"="+minus); System.out.println (i+"/"+j+"=" +div); System.out.println (i+"*"+j+"="+ multi); System.out.println (i+"%"+j+"="+mod); } } このソースコードをコンパイルしたら C:\Documents and Settings\NEC-PCuser\java\5_1_5>javac MyOperator1.java MyOperator1.java:1: コメントが閉じられていません。 /** ^ MyOperator1.java:28: 'class' または 'interface' がありません。 ←(ココにヤマ括弧) というエラーメッセイジがでました そのエラーメッセイジの意味がわかりません。 そもそもコンピュータ入門書には予想されるエラーメッセイジを具体的に全て掲載してくれません(きりがないから?)。 やはり独学は無理なのでしょうか?

  • Java
  • 回答数8
  • ありがとう数5

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

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.8

秀丸でしたら「その他」>「ファイルタイプ別の設定」で Java言語ソースファイルを設定し、「表示」のコメント モードを「C言語/Java」にすれば良いのではないかと。 秀丸は持っているだけで使ってないので、正確ではない かもしれませんが。 それと余計なお世話なのですが過去の投稿も「絞切り」 になってませんね。 良解答をした方には、ポイントをあげて締切ってください。 誰も(一部を除いて)ポイント欲しさに解答している わけではないでしょうが、ルールですから。 後で参考にされる人の為にも、そうして下さい。

その他の回答 (7)

  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.7

JAVAを使いはじめて三年になりますが、、、HIDEMARUではあまりにも作業効率が悪いとおもいます。 独学でやられるのなら無償のIDEを使うことをすすめます。 学習の段階でしたらJBUILDER Personalなどをつかってみてわ?

  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.6

やりはじめのころはみなさんそんなものです。 いろんなバグに出会うことによってバグの勘所ってのが自然とみについてきますので、焦らずにじっくりとやりましょう。

paniniXX
質問者

お礼

ありがとうございます

paniniXX
質問者

補足

実行結果でました 20+3=23 20-3=17 20/3=6 20*3=60 20%3=2

  • takaP-
  • ベストアンサー率79% (83/105)
回答No.5

>コメントが閉じられていません。 と「理由」が述べられているじゃないですか(笑 コメントの記述に誤りがないか調べればいいんです。 ここで使われているコメントは「//」と「/** */」 って事になりますよね? そして、エラーメッセージには /** が怪しいと 指摘してくれてるのですからあたりはつくはず。 そうして見ていけば、/** のコメント終了タグの */ の間に、スペースが入っている(* /) これが原因です(終了したと認められていない) この辺の間違いは、使用しているエディターに問題 があると思いますよ。 コメント部分を反転表示する等の機能の付いたエディタ を使えば、このような間違いは直ぐに気が付くはずです。 エディターを取り替えましょう。 この他にもコード内に問題はありますが、基本的に 初心者の間違いは単純な記述ミスに原因があります ので、サンプルコードと自ら入力したコードを冷静 に見直して見て下さい。 私も(おそらく殆どの人は)独学です。 エラーメッセージの原因を知りたいぐらいで学費を 払うのは勿体無いです(笑 それに手取り足取り教わったとしても、これから先 幾百かのエラーやバグに悩まされるのは間違いない と思われます。 いつまでも、学校が手取り足取りでエラーの原因を 指摘してくれるはずも無いわけで、独力で解決する 能力というのもプログラマの必須なわけです。 そして、こういうエラーを乗り越える経験の積み重 ねこそが大切だとおもいます。

paniniXX
質問者

お礼

「閉じられる」というのは (/)がついていれば、 文字通り「閉じられたことになる」と思っていました。 マニュアル見ただけでは、半角分かそれとも全角分開いているのかわかりません。また「「空白文字」葉いくつ入れてもかまいません」という記述を誤解していたのも原因ぼ1つでしょう。editorは秀丸です。「反転表示」の機能があるのでしょうか?

  • onchange
  • ベストアンサー率20% (5/24)
回答No.4

すいません。#3です。 質問を全部見ないで投稿しちゃいました。 #2の方の言うとおり、最初のコメントの括弧が正しく閉じられていないですね。(*と/の間にスペースが入ってしまっている) それを解決すると、その後、#3のエラーが出ると思います。失礼しました。

paniniXX
質問者

お礼

ありがとうございます

  • onchange
  • ベストアンサー率20% (5/24)
回答No.3

とりあえず自分のパソコンでコンパイルしてみたところ、次の2つのところが文法ミスでした。 1つ目 public static void main (String)[] args) { がString)[]じゃなくて、 String[]。 )が余分でした。 2つ目 int J= 3 ; じゃなくて int j= 3 ; Java は大文字小文字を区別します。 でばっくはいつも大変なものです。 根気よくがんばりましょう。

参考URL:
http://www.gimlay.org/~javafaq/javafaq.html
noname#30871
noname#30871
回答No.2

/** * 演算子の使用例1(加減剰余、剰余) * /  3行目、「*」と「/」の間が空いていませんか? 続けて「*/」と書かないとコメントを閉じたことになりません。

paniniXX
質問者

お礼

ありがとうございます

  • --neiro--
  • ベストアンサー率15% (22/139)
回答No.1

このソースがペーストされた本体そのもののコードなのであれば、最初のコメント部 /** * 演算子の使用例1(加減剰余、剰余) * /  ←この部分の記述、*と/の間にスペースが入ってしまっていますが、このスペースを取り除いてみては? 気になったので書き込みさせていただきました。Javaは専門外ですので(^^;

paniniXX
質問者

お礼

ありがとうございます

関連するQ&A

  • arraycopy コンパイルエラー

    javaの勉強をしているのですが arraycopy()を使ったプログラムでエラーが出てしまいます。 class Ex97{ public static void main(String args[]){ int []a = new int[10]; int []b = new int[5]; for(int i=0; i<10; i++){ a[i] = (int)(Math.random()*10); } System.arraycopy(a, 2, b, 0, 5); for(int i=0; 0<a.length-1; i++){ System.out.println(a[i]); } System.out.println(""); for(int i=0; 0<b.length; i++){ System.out.println(b[i]); } } } /*メッセージ Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10 at Ex32.main(Ex32.java:13) */ このプログラムはaの3番目の要素から5つ分の内容をbへコピーする というものです。 ご回答よろしくお願いします。

    • ベストアンサー
    • Java
  • java(エラーメッセージについて)

    こんにちは。 javaの問題を解いているのですが、エラーメッセージを 解決することができません。 下記のプログラムです。 class Ex30{ public static void main(String args[]){ int week[][] ={ {50,70,80}, {80, 90, 100, 50, 70}, {60, 55, 70, 60} }; char n1[] = {'A', 'B', 'C'}; for(int i=0; i<week[i].length; i++){ System.out.print(n1[i] + "さんは" + week[i].length + "科目受講し、各科目の得点が"); for(int k=0; k<week[i].length; k++) System.out.print(week[i][k] + " "); System.out.println(""); } } } 実行結果 Aさんは3科目受講し、各科目の得点が50 70 80 Bさんは5科目受講し、各科目の得点が80 90 100 50 70 Cさんは4科目受講し、各科目の得点が60 55 70 60 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at Ex30.main(Ex30.java:7) どなたかよろしくお願いします。

    • ベストアンサー
    • Java
  • 配列要素の操作でコンパイルエラーが出ます

    JAVAの勉強中なのですが、テキストの通り入力しているのですがコンパイルエラーが出てしまいます。 public class hairetu{ public static void main(String[] args){ int[] ary = new int[7]; ary[0] =100; ary[1] = 50+31; int x = 9; ary[2] = x; ary[3] = 0; ary[3]++; ary[4] = ary[0]+ ary[1]; int j =5; ary[j] = j*2; for(int i= 0; i < ary.length; i++){ System.out.println("ary["+i+"]="ary[i]); } } } 何がおかしいのでしょうか? System.out.println("ary["+i+"]="ary[i]);の部分で、 ')'がありません。 式の開始が不正です。 ';'がありません と、エラーが出ます。 前回もテキストに説明の無いまま章末問題が出題され、解答を見ても分かりませんでした。 現在使っているテキストが信用出来なくなってきたので、 もしご存知でしたらお勧めのJAVAの入門書も教えて頂けたら幸いです。

    • ベストアンサー
    • Java
  • 沢山のエラーメッセージが表示されます。

    いつも大変お世話になり、誠にありがとうございます。 標記の件。 public class Main2 { public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j < 10; j++) { System.out.println(i * j); System.out.println(" "); } System.out.println(" "); } } } C:\>cd JAVA C:\JAVA>javac Main2.java C:\JAVA>java Main2 Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: Main2 has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) どうすればいいでしょうか? ご多忙中恐れ入ります。 ご回答のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • JAVAの質問です。

    JAVAの質問です。 javaでスロットを作りたいのですが…。 3行3列で縦と横同じ数字の場合”おめでとう”と表示されるプログラムを作りたいのですがわからないです。 助けてください(>_<) public class surotto { public static void main(String args[]) { int hako[][]; int i,j; hako = new int[3][3]; System.out.println("スロットスタート。"); for(i=; i<3; i++){ for(j=0; j<3; j++){ hako[i][j] = (int)(Math.random()*10); } } for(i=0; i<3; i++){ for(j=0;j<3;j++){ System.out.println([i][j]); } System.out.println("\r\n"); } for(i=0; i<3 ; i++){ if((hako[i][0] == hako[i][1]) && (hako[i][1] == hako[i][2])){ System.out.println("横がそろいました、おめでとう\n"); } } for(j=0; j<3 ; j++){ if((hako[0][j] == hako[1][j]) && (hako[1][j] == hako[2][j])){ System.out.println("縦がそろいました、おめでとう\n"); } }

    • ベストアンサー
    • Java
  • コンパイル後のエラー。

    こんにちは、質問があります。 下のプログラムを組みました。 コンパイルには成功しましたが、実行することができません。 import java.io.*; public class Gyouretu { public static void main(String[] args) { BufferedReader reader = new BufferedReader( new InputStreamReader(System.in), 1); try{ System.out.println("行列数を入力"); String line = reader.readLine(); int n = Integer.parseInt(line); int a[][] = new int[n][n]; int b[][] = new int[n][n]; int c[][] = new int[n][n]; int i,j,k; for ( i = 0; i < n; i++){ for ( j = 0; j < n; j++){ c[i][j]=0; for ( k = 0; k < n; k++){ c[i][j] += a[i][k] * b[k][j]; System.out.print(c); System.out.print(i); System.out.print(j); } } } }catch (IOException e){ System.out.println("end"); } } } 行列の計算をするプログラムなのですが、コンパイル後に行列数(何行何列か?)を入力するとこんなエラーが出ます。 「'2' は、内部コマンドまたは外部コマンド、  操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 なぜなのか、どうしてもわかりません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • dokojavaでシンボルerrorがでます。

    -------------------------------------isbn978-4-8443-3638-9 public class Main { public static void main(String[] args){ System.out.println("運勢"); int fortune = new java.util.Random() .nextInt(4) + l; if (fortune == 1) { System.out.println("大吉"); } else if (fortune == 2){ System.out.println("中吉"); } else if (fortune == 3){ System.out.println("吉"); } else{System.out.println("凶"); } } } ----------------------------------- int fortune = new java.util.Random() .nextInt(4) + l; ↑の最後の「l;」がみつかりませんとシンボルerrorになります。

  • プログラムの合体。

    jump7799_4836さん 2018/7/2103:34:44 public class Test2 { public static int メソッド () { System.out.println("メソッド()が呼ばれました"); return 0; } public static int メソッド (int i) { System.out.println("メソッド(int i)が呼ばれました"); return i; } public static int メソッド (int i, int j) { System.out.println("メソッド(int i, int j)が呼ばれました"); return i; } public static int メソッド (short s) { System.out.println("メソッド(short s)が呼ばれました"); return s; } public static int メソッド (double d) { System.out.println("メソッド(double d)が呼ばれました"); return (int) d; } } public メソッド class Test2 { public メソッド static void main(String[] args) { Test2.メソッド (); Test2.メソッド (1); Test2.メソッド (1,2); Test2.メソッド (1.1); Test2.メソッド ((short) 1); Test2.メソッド ((double)1); } } kouzou@GD348ZZD9:/WORK$ javac Test2.java Test2.java:29: エラー: class、interfaceまたはenumがありません public メソッド class Test2 { ^ Test2.java:30: エラー: <identifier>がありません public メソッド static void main(String[] args) { ^ エラー2個 2つのプログラムが合体することってあるのですか? いつもすみません。 解説のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • どこにエラーがあるのでしょうか?

    public class Sample6_2 { public static void main(String[] args) { int probabilityOfRain = 20; if (30 <= probabilityOfRain) System.out.println("傘を持っていく");            System.out.println("傘を持っていく"); if (probabilityOfRain < 30) { System.out.println("傘を持って行かない");     System.out.println("傘を持って行かない"); } } } Exception in thread "main" java.lang.Error: Unresolved compilation problems: トークンに構文エラーがあります。これらのトークンを削除してください トークンに構文エラーがあります。これらのトークンを削除してください at Sample6_2.main(Sample6_2.java:8) と出ました。度々すいません。 どこにエラーがあるのでしょうか?

    • ベストアンサー
    • Java
  • メゾットへの変更

    以下のDo while文 をメゾット化したいのですが、 どーすればいいのか分かりません。 詳しい方、教えてください。 import java.io.*; public class Tf031241jj { public static void main(String[ ] args) { int i = 1; do { System.out.print("\t" + (i)); i = i + 1; } while (i < 10); System.out.println(); i = 1; do { System.out.print(i); int j = 1; do { System.out.print("\t" + (i*j)); j++; } while (j < 10); i++; System.out.println( ); } while (i < 10); } }

    • ベストアンサー
    • Java

専門家に質問してみよう