どうして’)’や’;’が足りないの?

このQ&Aのポイント
  • コンパイルエラーが出る理由は、セミコロンやカッコが足りないためです。
  • 質問者は、Javaのコンパイルエラーについて相談しています。
  • ハズレとアタリの判定がされるJavaのプログラムに関する質問です。
回答を見る
  • ベストアンサー

どうして’)’や’;’が足りないの?

いつも大変お世話になりありがとうございます。 色々と打ち直したりしているのですが、どうしても コンパイルエラーが出ます。 どうすればいいのでしょうか? C:\JAVA>javac Lesson10.java Lesson10.java:11: エラー: ';'がありません Console console = System console(); ^ Lesson10.java:12: エラー: ')'がありません input = Integer.parseInt(console readLine()); ^ Lesson10.java:12: エラー: ';'がありません input = Integer.parseInt(console readLine()); ^ エラー3個 import java.io.Console; public class Lesson10 { public static void main(String[] args) { final int answer = 3; int input; System.out.println("コンピュータが思い浮かべた数字を当ててね!"); System.out.println("「これだ!」と思う数を1~10までで入力しましょう"); Console console = System console(); input = Integer.parseInt(console readLine()); if (input == answer) { System.out.println("お見事、アタリです!"); }else{ System.out.println("残念、ハズレです!"); } } }

  • Java
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.2

ドットがないです。 誤: Console console = System console(); 正: Console console = System.console(); 誤: input = Integer.parseInt(console readLine()); 正: input = Integer.parseInt(console.readLine()); 行末でエラーが出ているのではなく、Systemやconsole直後の空白時点でエラーが出ているのです。

takakou7979
質問者

お礼

ご丁寧に、どうもありがとうございました。 大変助かりました。

その他の回答 (2)

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

>どうして’)’や’;’が足りないの? ^の位置を見て推測できないですか? 元のコードと自分がタイプした文字列を見比べて違いを見つけてください。 以前にも注意しましたが作業環境を明示して問題点を系統立てて説明しないと解決が難しくなります。 また、あなたの学習を身近で見守れる指導者が必要かと思います。(あなたのパソコンを直接見ながら指導できないと効率が悪すぎます) 更に、あなたには応用力が不足しているので1を聞いても10を知ることができないでしょう。(毎回1を聞いて1を修得できていない感じです)

takakou7979
質問者

お礼

ご回答誠に有難うございます。

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

エラーメッセージは >';'がありません >')'がありません でしょうが、ソースコードをしっかり見直してください。

takakou7979
質問者

お礼

大変勉強になりました。 ありがとうございました。

関連するQ&A

  • 注釈処理が明示的にリクエスト

    いつも大変お世話になりありがとうございます。 また、JAVAの質問です。 クラス名'Lesson07'が受け入れられるのは、注釈処理が明示的にリクエストされた場合のみです というエラーが出ます。 どうすればいいか教えてください。 ご回答のほど宜しくお願い申し上げます。 import java.io.Console; public class Lesson07 { public static void main(String[] args) { long a; long b; long answer; Console console = System.console(); System.out.println("2つの値で足し算を行います"); System.out.println("1つ目の値を入力してください"); a = Integer.parseInt(console.readLine()); System.out.println("2つ目の値を入力してください"); b = Integer.parseInt(console.readLine()); answer = a + b; System.out.println(a + "足す" + b + "の答えは" + answer + "です"); }

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

    いつも大変お世話になりありがとうございます。 初心者向けのJAVAの件。 コンパイルが下記の通りになりました。 どこが間違っているのでしょうか? アドバイスのほど、宜しくお願い申し上げます。 C:\JAVA>javac Lesson09.java C:\JAVA>java Lesson09 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Lesson09.main(Lesson09.java:4) コード public class Lesson09 { public static void main(String[] args) { int x, y; x = Integer.parseInt(args[0]); y = Integer.parseInt(args[1]); java.awt.Point point = new java.awt.Point(); point.setLocation(x, y); System.out.println("X, Y座標をフィールドで参照します(int)"); System.out.println("X 座標:" + point.x); System.out.println("Y 座標:" + point.y); System.out.println("X, Y座標getメソッドで参照します(double)"); System.out.println("X 座標:" + point.getX()); System.out.println("Y 座標:" + point.getY()); } }

    • ベストアンサー
    • Java
  • Java言語のプログラムをC言語にする場合

    次の2つのJava言語のプログラムをC言語にしたいのですが、C言語でプログラムを書いたことがありません。C言語にする場合はどう書けばいいのでしょうか? import java.io.*; public class Sort { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("整数値を入力してください"); String line = reader.readLine(); int a = Integer.parseInt(line); String line2 = reader.readLine(); int b = Integer.parseInt(line2); String line3 = reader.readLine(); int c = Integer.parseInt(line3); String line4 = reader.readLine(); int d = Integer.parseInt(line4); int[] data = {a, b, c, d}; for (int i = 0; i< data.length - 1 ; i++) { for (int j = i + 1; j< data.length; j++) { if(data[i] > data[j]) { int e = data[i]; data[i] = data[j]; data[j] = e; } } } System.out.println("昇順に並べ替えると、"); for (int i = 0; i< data.length; i++) { System.out.print(data[i] + " "); } System.out.println("です。"); } catch (IOException e){ System.out.println(e); } catch (NumberFormatException e) { System.out.println("数式の形式が正しくありません。"); } } } import java.io.*; public class Yakusu { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("2つの整数値を入力してください"); System.out.print("整数A : "); String line = reader.readLine(); int a = Integer.parseInt(line); System.out.print("整数B : "); String line2 = reader.readLine(); int b = Integer.parseInt(line2); if(a%b == 0){ System.out.println("BはAの約数です"); } else { System.out.println("BはAの約数ではありません"); } } catch (IOException e){ System.out.println(e); } catch (NumberFormatException e) { System.out.println("数式の形式が正しくありません。"); } } }

  • JAVAの初心者です.

    import java.io.*; class Sample3 { public static void main(String args[])throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int meny; int max = 0; int kingaku[]; kingaku = new int[5]; char ss[][]; ss = new char[5][80]; do{ String hako = br.readLine(); meny = Integer.parseInt(hako); System.out.println("1:入力とその長さ"); System.out.println("2:データ入力"); System.out.println("3:データ表示"); System.out.println("4:おしまい"); switch(meny){ case 1: System.out.println("文字を入力してください。"); String input = br.readLine(); System.out.println(input + "は" + input.length + "文字です。"); break; case 2: if (max == 0){ System.out.printin("登録をしてからお選びください。"); }else{ System.out.println("名前を入力してください。"); String ss[max] = br.readLine(); System.out.println("金額を入力してください。"); String kingaku[max] = br.readLine(); System.out.println(ss[max] + "さんで" + kingaku[max] + "を登録します。"); max++; } break; case 3: System.out.println("現在登録人数は" + max + "人です。"); for(int aa = 0;aa<max;aa++){ System.out.println(name[max] + kingaku[max]); } break; } }while(meny != 4); } } 上記のソースなのですが、コンパイルで今のところ2つエラーが出てしまうのです。 String ss[max] = br.readLine(); String kingaku[max] = br.readLine(); の所がエラーと表示されます。 javaは入力した文字を表示するだけでしたら    = Integer.paruseint()する必要ないですよね?? 初心者ならではの質問でごめんなさい。 ご教授宜しくお願いいたします。

    • ベストアンサー
    • Java
  • JAVAの初心者です。

    import java.io.*; class Sample1 { public static void main(String args[])throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); do{ System.out.println("1:入力文字整数確かめ"); System.out.println("2:終了"); String hako = br.readLine(); int sen = Integer.parseInt(hako); switch (sen){ case 1: System.out.println("整数を入力してください。"); String hako2 = br.readLine(); int hako3 = Integer.parseInt(hako2); if ((hako3%2)==0){ System.out.println("これは偶数ですね。"); } System.out.println("奇数ですね。"); break; case 2: System.out.println("終了いたします。"); break; } }while(sen != 2); } } 上記のように組んだのですが、}whileのところでエラー が出てしまうのです。 これってなぜなのでしょう?? 初心者特有の質問かもしれませんがご教授いただけたら嬉しいです。宜しくお願いいたします。 関係ないのかも知れませんがJDK1-5-006を使用してます。

    • ベストアンサー
    • Java
  • 書き換え

    以下のソースコード(*を使って二等辺三角形を表示するプログラム)をwhile文のかわりにdo-while文を使って書き換える方法が分かる方ぜひ教えてください。いろいろ試しましたがコンパイルできずに困っています↓ //Triangle2.java class Triangle2{ public static void main(String args[]){ try{ if(args.length !=1){ System.out.println("Please input single positive integer!"); } else if(Integer.parseInt(args[0])>0) { int n = Integer.parseInt(args[0]); int i=0; while(i < n){ int j=0; while (j <= i){ System.out.print("*"); j++; } System.out.println(); i++; } int m=n-1; while(m > 0){ int k=m; while(k > 0){ System.out.print("*"); k --; } System.out.println(); m --; } } else{ System.out.println("Please input single positive integer!"); } }catch(NumberFormatException e){ System.out.println("Please input single positive integer!"); } } }

  • Integerについて

    class Sample5_7_Integer { /** * Integerクラスのメソッド */ public static void main(String[] args) { //String → int int i1 = Integer.parseInt(args[0]); //int型にすることにより計算可能 System.out.println(i1 + 100); //String → integer Integer i2 = Integer.valueOf(args[0]); System.out.println(i2); Integer i3 = new Integer(100); System.out.println(i2.equals(i3)); } } をEclipseで実行したところ、 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at benkyou.Sample5_7_Integer.main(Sample5_7_Integer.java:10) というエラーになってしまいます。 どなたか解決法をお願いします。

    • ベストアンサー
    • Java
  • javaのエラーが回収できない

    JAVA初心者です。下記のエラーを直したいんですがよくわかりません。 Exception in thread "main" java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at hangman.main(hangman.java:141) ソースを載せたいのですが200行程度あって全部載せられないので 関連しそうなところだけ載せます。 ~~~~~~~~~略~~~~~~~~~~~ try{ int input=System.in.read(); char str_moji1=(char)input; //ユーザの1文字入力 if(words[chosenWordRecord].indexOf(str_moji1) != -1){ System.out.println("debug:"+str_moji1+"の場所"+(words[chosenWordRecord].indexOf(str_moji1)+1)); } else{ System.out.println(str_moji1+"は含まれてないよ!"); } for(int arrayNum=0; arrayNum<wordArray.length; arrayNum++){ if(wordArray[arrayNum]==str_moji1){ System.out.print(" "+str_moji1); } else{ System.out.print(" _"); } } }catch(IOException e){ System.out.println(e); } try{ System.out.print("入力テスト:"); BufferedReader br1=new BufferedReader(new InputStreamReader(System.in)); String str=br1.readLine(); step=Integer.parseInt(str); //int型に変換 }catch(IOException e){ System.out.println(e);            //141行目 } ~~~~~~~~~略~~~~~~~~~~~ 状況としては、 ユーザの入力によって2つのテキストファイルを順にコマンドライン上に 表示しようとしているのですが1つ目のファイルから単語を呼んで処理を終えた後に、 2つ目のファイルを呼ぶための入力ができなくなっているようです。 かってに数字以外の文字が入力されてしまっているということでしょうか? エラーで指定された場所にcatch(NumberFormatException e){}も追加してみましたが ただエラーが表示されなくなるだけでした。 ちなみに変数はすべて宣言してあります。 解決方法ご存知の方いましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVAのプログラムについて

    今、JAVAを始めたのですが、どうしても分からないところがあるので教えていただきたいのですが・・・・ +と- と言う文字をキーボードから入力して、switch文で判断したいのです。 ソースは String s3 = bufreader.readLine(); 上記でキーボードから文字列を取得して、 switch(s3){ case '+': int c = Integer.parseInt(s1) + Integer.parseInt(s2); System.out.println(c); break; case '-': int d = Integer.parseInt(s1) - Integer.parseInt(s2); System.out.println(d); break; } スイッチ文で、+と言う文字と-の文字だったとき、それぞれ画面に表示させたいのですが、うまくいきません。 多分、文字列でゲットしてきたものをswitch文は使えないからだと思うのですが・・・・ すみません。もし宜しければ、教えてください。お願いします。

    • ベストアンサー
    • Java
  • システム日付との比較

    始めたばかりで原因がわからず困っています。 以下のコードでコメント箇所を追加すると、 コンソール日付とシステム日付が一致しても正しい結果が 得られませんでした。 よろしくお願いします。 import java.util.*; import java.io.*; public class Test { public static void main(String[] args) throws IOException { System.out.println("年月日をそれぞれ入力して下さい。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String str2 = br.readLine(); String str3 = br.readLine(); int intTmp1 = Integer.parseInt(str1); int intTmp2 = Integer.parseInt(str2); int intTmp3 = Integer.parseInt(str3); Calendar myCal = Calendar.getInstance(); myCal.set(intTmp1,intTmp2-1,intTmp3); System.out.println(myCal); //*コンソールで入力した日付を表示 Calendar myToday = Calendar.getInstance(); System.out.println(myToday); //*現在日付を表示 if(myToday.equals(myCal)){ System.out.println("入力したデータは現在日付と同じ日付です。"); }else{ System.out.println("入力したデータは現在日付とは違う日付です。"); } } }

専門家に質問してみよう