• ベストアンサー

本どおりに写しているはずなのに

エラーの場所を見てもエラーが見つかりません。(初心者なのですいません) C:\java>javac sampleD2L5.java sampleD2L5.java:4: \12288 は不正な文字です。    int intA; ^ sampleD2L5.java:4: \12288 は不正な文字です。    int intA; ^ sampleD2L5.java:4: \12288 は不正な文字です。    int intA; ^ sampleD2L5.java:9: \12288 は不正な文字です。    intA = 10; ^ sampleD2L5.java:9: \12288 は不正な文字です。    intA = 10; ^ sampleD2L5.java:9: \12288 は不正な文字です。    intA = 10; ^ sampleD2L5.java:14: \12288 は不正な文字です    System.out.println( ^ sampleD2L5.java:14: \12288 は不正な文字です    System.out.println( ^ sampleD2L5.java:14: \12288 は不正な文字です    System.out.println( ^ エラー 9 個 が、エラーです。 public class sampleD2L5 { public static void main(String args []) { //変数の宣言    int intA; int intB; char chrA; //変数に値を代入    intA = 10; intB = 2; chrA = 'a'; //コンソール上にメッセージを表示    System.out.println( "intAには" + intA + "が入っています"); System.out.println( "intBには" + intB + "が入っています"); System.out.println( "charAには" + charA + "が入っています"); System.out.println( "intA + intB = " + (intA + intB)); System.out.println( "intA - intB = " + (intA - intB)); } } が、ソースです。

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

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

  • ベストアンサー
  • kai123
  • ベストアンサー率53% (88/163)
回答No.2

エラーで指摘されているところに全角スペースが入っています。 スペース入れるなら、半角スペースかTabで入れてください。 スペース直しても、まだ、エラーが出ます。 System.out.println( "charAには" + charA + "が入っています"); の参照変数charAがchrAの間違いです。 って、Javaの勉強でしたか・・・余計なところまで指摘してしまいましたか・・・。

その他の回答 (2)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.3

答えは出ているようなのでアドバイスだけ。 ソースを書くときには全角スペースなどを表示してくれるエディタを利用した方がいいですよ。できればプログラミング言語に対応した機能のついたエディタがいいです。 この手の問題はエディタ一つで解決できるので、自分の使いやすいエディタを早く見つけることをおすすめします。 なれたらEclipseなどのIDEも使ってみてはいかがでしょう?

回答No.1

空白文字が日本語(昔の全角文字。かな漢字変換をONにして入力している)になっているのでは無いですか? プログラムの入門時は、日本語の入力はしないことです。 思わぬところで日本語が入ってエラーになります。

関連するQ&A

  • ユーザー入力値を足し算する

    import java.io.*; public class sampleD4L2 { public static void main(String[] args) { //入力データー読み込みようオブジェクトを作成 BufferedReader myReader = new BufferedReader( new InputStreamReader(System.in), 1); try{ //開始メッセージの表示 System.out.println("A+Bの足し算を行います"); //Aの値の入力を促す System.out.println("Aの値を入力してください"); //Stringクラス型の変数を宣言し読み込んだ入力データーを代入 String myString = myReader.readLine(); //String型に入力した値をint型の変数に代入 int intA = Integer.parseInt(myString); //Bの値の入力を促す System.out.println("Bの値を入力してください"); //Stringクラス型に読み込んだ入力データーの代入 int intB = Integer.parseInt(myString); //A+Bを計算し、intAnswerに代入 int intAnswer = intA + intB; //メッセージを合成して表示 System.out.println("A+Bを計算すると" + intAnswer + "になります"); //エラー処理ブロッグ }catch (IOException e) { System.out.println("エラーが発生しました"); } } } 上のソースは本通に写したんですが、Bの値が入力せずA+Aの計算になっています。どこがいけないのでしょうか?

  • コマンドプロンプトに不正な文字と出ます。

    ソースファイルを作ってコンパイルして画面に出そうとしたんですが、 Sample1.java:6: \12288 は不正な文字です。    System.out.println("Javaをはじめましょう!");  ^ Sample1.java:6: \12288 は不正な文字です。    System.out.println("Javaをはじめましょう!");  ^ Sample1.java:6: \12288 は不正な文字です。    System.out.println("Javaをはじめましょう!");  ^ Sample1.java:6: \12288 は不正な文字です。    System.out.println("Javaをはじめましょう!");  ^ Sample1.java:6: ';' がありません。    System.out.println("Javaをはじめましょう!");  ^ エラー 5 個 と出ます。ソースファイルの方は何度も見直し半角や全角も直しました。何が原因か教えてください。

    • ベストアンサー
    • Java
  • 前回の質問のプログラムの応用 Java言語

    MAX_QUESTION の部分を指定できるようにしたいのです! たとえば、20と入力したら、20問、問題が生成されるようなプログラムです。 教えてください。よろしくお願いします。 import java.io.*; public class Java05 { /** 表示する問題の個数 */ public static final int MAX_QUESTION=10; /** * 足し算の問題をMAX_QUESTION回繰り返して出題する。 * 最後に正答率を表示する。 */ public static void main(String[] args){ int goodAnswer=0; //正答の個数 System.out.println("これから足し算の問題を"+MAX_QUESTION+"問出します。"); /* * 以下、問題を繰り返し表示し、ユーザからの解答を判断する。 * その後、正答の数を数える。 */ for(int i=0;i<MAX_QUESTION;i++){ boolean ok=showQuestion(i+1); if(ok){ goodAnswer++; } } double rate=goodAnswer*100.0/MAX_QUESTION; System.out.println(""); System.out.println("問題は"+MAX_QUESTION+"問"); System.out.println("正答数は"+goodAnswer+"問"); System.out.println("不正解数"+(MAX_QUESTION-goodAnswer)+"問"); System.out.println("正答率は"+rate+"%"); } /** * showQuestionは足し算の問題を1問出し、答えを待つ。 * 正答、誤答の別を表示する。 * 正答の場合は ture を返す。 */ public static boolean showQuestion(int questno){ double dblA=Math.random()*1000; double dblB=Math.random()*1000; int intA=(int)dblA; int intB=(int)dblB; BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("[第"+questno+"問] "+intA+"+"+intB+"="); String line=reader.readLine(); int result=Integer.parseInt(line); if(intA+intB==result){ System.out.println("正解!"); return true; }else{ System.out.println("不正解!"); return false; } }catch(IOException e){ System.out.println(e); }catch(NumberFormatException e){ System.out.println("入力が正しくありません。"); } return false; } }

  • Java言語 正答率、正答数の表示の仕方

    自動的に3桁までの足し算の問題を繰り返して10問生成・表示し、入力された答えが正解か不正解かを表示する。最後に正答数と正答率を表示する。 というプログラムをeclipseで作っています。 問題を自動生成、表示、正解、不正解の表示まではできたのですが、正答数と正答率の表示の仕方がわかりません。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Java05 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO 自動生成されたメソッド・スタブ System.out.println("コンピュータが足し算の問題を10問出します"); int intC = 0; for(intC = 0;intC<10;intC++) { double dblA=Math.random()*1000; double dblB=Math.random()*1000; int intA=(int)dblA; int intB=(int)dblB; int intAns; intAns=intA + intB; System.out.println(intA +"+"+ intB +"="); System.out.println("あなたの答え="); BufferedReader myReader=new BufferedReader(new InputStreamReader(System.in),1); try{ String myString=myReader.readLine(); int myAns=Integer.parseInt(myString); if(myAns==intAns){ System.out.println("正解です!"); }else{ System.out.println("残念でした!正しい答えは"+intAns+"です。"); } }catch(IOException ie){System.out.println("エラーが発生しました。");} catch(NumberFormatException ne){ System.out.println("入力された数値が正しくないようです。"); } } } } どのようにすればよいでしょうか。。。 教えてください!

  • 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になります。

  • 実行するとよくわからないエラーがでる

    これを実行すると import java.lang.Integer; import java.lang.NumberFormatException; import java.lang.String; import java.lang.System; public class Animal { public static void main(String[] A00) { final int L00 = 6; int L01 = 0; int L02 = 0; int L03 = 0; if (A00.length < 3) { System.out.println("使用例 >java Animal 1969 6 26"); System.exit(1); } try { L01 = Integer.parseInt(A00[0]); L02 = Integer.parseInt(A00[1]); L03 = Integer.parseInt(A00[2]); } catch (NumberFormatException L04) { System.out.println("生年月日には数字を指定してください。"); System.exit(1); } int L05 = (L01 + L02 + L03) % L00; System.out.printf("%d年%d月%d日生まれのあなたは...%n", L01, L02, L03); switch (L05) { case 0: System.out.println("穏やかな心をもったヒツジです。"); break; case 1: System.out.println("おっとりマイペースのコアラです。"); break; case 2: System.out.println("自分が一番のライオンです。"); break; case 3: System.out.println("孤独が大好きなオオカミです。"); break; case 4: System.out.println("お調子者のサルです。"); break; case 5: default: System.out.println("不思議な性格のタスマニアンデビルで す。"); break; } } } # guarantee(_name_index != 0 && _signature_index != 0) failed: bad constant pool index for fieldDescriptor とエラーがでるのですが これはどういう意味でしょうか?

    • ベストアンサー
    • Java
  • Javaで、変数をつなげて表示することは可能ですか?

    Javaで、変数をつなげて表示することは可能ですか? 最近Javaを学び始めた、Java初心者です。 PHPで、二つの変数(数値)を echo $変数1.$変数2; で、変数1と変数2をつなげて表示できるように Javaで変数(int型やdouble型)をつなげて表示(変数の結合?)することは可能でしょうか? もしくは  System.out.println(変数1+""+変数2); や System.out.println(変数1+" "+変数2); または、 print を二回使う のようなやり方でないとできないのでしょうか? 特にこれを使ってやりたいということがあるわけではありませんが 気になったので質問させて頂きました。    

    • ベストアンサー
    • Java
  • java 戻り値についての質問です。

     戻り値を使ったプログラムを作成したところエラーが出たのですが、どこを修正しなければならないのかわかりません。 [プログラム] public class Main31{ public static int add(int x, int y){ int ans = x + y; return ans; } public static void main(String[] args){ int ans = add(100 , 10); System.out.println(x +"+"+y+"="+ans); } } [エラーの内容] Main31.java:12: エラー: シンボルを見つけられません System.out.println(x +"+"+y+"="+ans);     ^ シンボル: 変数 x 場所: クラス Main31 Main31.java:12: エラー: シンボルを見つけられません System.out.println(x +"+"+y+"="+ans);      ^ シンボル: 変数 y 場所: クラス Main31 エラー2個 どこを直せば良いのかと、このプログラムだとエラーが出てしまう理由を教えてください。よろしくお願いいたします。

    • ベストアンサー
    • 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
  • print("A"); とリテラルとデータ型

    リテラルとデータ型について質問します。 インプレス社の問題集で次の解説を見ました。(一部抜粋) 「Javaのリテラルは、デフォルトでは、整数値であればint型、..  文字であればchara型のデータとして扱われます。」 よく見掛けるコードに次のようなものがあると思います。 System.out.println("A"); この時の文字列A(今回は便宜的に1文字にしています。)は、 変数などで特にデータ型の指定をしていませんが、 JavaのデフォルトとしてString型として扱われる、と考えて良いのでしょうか? Javaのデフォルトのリテラルの扱い、特に「デフォルトの」というところが 明確にわからずにいます。「デフォルトの」というのは、私が上記で例示したような 「データ型指定しない場合」ということでいいのでしょうか…。 解説をお願いします。

専門家に質問してみよう