• 締切済み

robocodeでデバッグしたい

JAVA初心者で、有識者の方教えてください。 robocodeでデバッグをしたいのですが、 ublic void run() 内に、 System.out.println("XXX"); を埋め込んで、試したのですが、 コンパイルエラーが発生してしまいます。 <環境など> robocode V1.0.7 AdvancedRobotを使用 --ここから-- Compiling... Found 1 semantic error compiling "C:/robocode/robots/date/Date.java": 10. public class Date extends AdvancedRobot <--> *** Error: The return type of method "java.io.PrintStream append(java.lang.CharSequence $1);" does not match the return type of method "java.lang.Appendable append(java.lang.CharSequence $1) throws java.io.IOException;" inherited from type "java/lang/Appendable". Compile Failed (1) --ここまで-- ロボコードAPIで、out.println();を使用できるっぽい 事が書いてありましたが、コンパイルエラーが 発生します。   どなたかご存知でしたら、 教えてください。

  • kooz
  • お礼率67% (27/40)
  • Java
  • 回答数2
  • ありがとう数1

みんなの回答

noname#24032
noname#24032
回答No.2

もしかして、JDK 5.0 を使っていませんか? Java に詳しくないので、理由はわかりませんが、 私も同様のメッセージで out が使えていませんでしたが、 JDK 1.4.2 をセットアップして、コンパイラをそちらに向けたら コンパイルエラーはなくなり、説明通り println を使えるように なりました。

  • nfonfonfo
  • ベストアンサー率63% (12/19)
回答No.1

System.out.println ではなく out.println です。 Robotクラスのフィールドのため。 補足 参考URLからRobocode API がダウンロードできます。

参考URL:
http://www-06.ibm.com/jp/event/robocode/home/

関連するQ&A

  • System.out.printlnの意味がよくわかりません。

    System.out.printlnの意味がよくわかりません。 色々と参考書などを読むと、「Systemのフィールド変数outは、PrintStreamクラスのインスタンスを参照している。」との記述がありました。 ならばと、直接io パッケージからPrintStream 、outを呼び出すため、 “java.io.PrintStream.out. println();”と書きましたが、「outが不可視です」とのエラーが出ます。 このコマンドのどこが間違っているのでしょうか。 また、何故、Systemから、他のパッケージにあるメソッドを呼び出すのでしょうか。 わざわざSystemから、ioパッケージにあるout 、println() を呼び出す必要があるのでしょうか。 他の呼び出し方はないのでしょうか。;

    • ベストアンサー
    • Java
  • javaのコンパイルエラーについて質問

    macにてjavaを学習し始めた初心者です 真っ先に習うHello Worldのソースコードを書き、 class Hello01 { public static void main(String args[]){ System.out.printin("Hello Java World!"); } } コンパイルをしたところ以下のようなコンパイルエラーが表示されました Hello01.java:3: cannot find symbol symbol : method printin(java.lang.String) location: class java.io.PrintStream System.out.printin("Hello Java World!"); ^ どこかソースに欠けてる箇所があるのだと思いますが、 どこが間違っているのかいまいち分かりません。 どなたか分かる方、教えていただけますか? よろしくお願いします

    • 締切済み
    • Mac
  • java超初心者

    やさしいjavaという本を読んで勉強しています。 コンパイルというものをすると C:\Sample\01>javac Sample1.java Sample1.java:5: シンボルを解釈処理できません。 シンボル: メソッド printIn (java.lang.String) 位置 : java.io.PrintStream の クラス System.out.printIn("ようこそjavaへ"); ^ とでてきました。どこがおかしいのでしょうか?

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

    JBuiderでコンパイルしようとするとエラーがでてしまいます。ソースは以下の通りです。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); Integer count=(Integer)session.getAttribute("count"); if(count == null){  count = new Integer(0); }else{  count = new Integer(count.intValue()+1); } session.setAttribute("count",count); response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out= response.getWriter(); out.println("<html>"); out.println("<head><title>TestServlet</title></head>"); out.println("<body>"); out.println(session.getId()); out.println("<p>\"count\"という名前のattribute = " + count +"</p>"); out.println("</body></html>"); out.close(); } } これをコンパイルすると、 "TestServlet.java": エラー #: 300 : メソッド getAttribute(java.lang.String) が見つかりません: インターフェース javax.servlet.http.HttpSession 行 9, 列 36 "TestServlet.java": エラー #: 300 : メソッド setAttribute(java.lang.String, java.lang.Integer) が見つかりません: インターフェース javax.servlet.http.HttpSession 行 15, 列 13 というメッセージがでます。何が原因なのか教えてください。

  • [JAVA]ProcessBuilderで「java -version」を実行できない

    以下のプログラムで「java -version」を実行しようとするとエラーになります。「java」だけですと実行できますが「-version」をつけるとエラーになります。 ---プログラムの内容--- import java.io.*; public class test4518 { public static void main(String[] args) throws Throwable{ ProcessBuilder pb = new ProcessBuilder(new String[]{"java -version"}); Process p = pb.start(); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = br.readLine()) != null) { System.out.println(line); } } } ーーーエラーの内容ーーー Exception in thread "main" java.io.IOException: CreateProcess: "java -version" error=2 at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) at java.lang.ProcessBuilder.start(Unknown Source) at test4518.main(test4518.java:5)

    • ベストアンサー
    • Java
  • java

    コンパイルできても、実行ができません。 次のようなエラーがでます。 このエラーはどのようなエラーなのでしょうか? Exception in thread "main" java.lang.NoClassDefFoundError: test コードはただたんにHello JAVA と表示させるだけです。 class Test{ public static void main(String args[]){ System.out.println("Hello Java\n"); } }

    • ベストアンサー
    • Java
  • NTEmacsでJavaのコンパイルをしたいです

    NTEmacsのシェルです。 Javaの勉強をつい最近始めました。JDKは入っていて、普段はjavac、javaは普通に動くのですが、import java.io.*;のようなことをすると、(パーケージを読みこませる等)その部分でエラーになってしまいます。 ただ、eclipseで同様のものを作ると、コンパイルはうまくいきます。 例 import java.io.*; class Sample4{ public static void main(String[] args) throws Exception { System.out.println("please imput something"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str); } } 結果 c:\Users\***\Documents\Java>javac no_3.java javac no_3.java no_3.java:33: エラー: class、interfaceまたはenumがありません import java.io.*; ^ エラー1個

    • ベストアンサー
    • Java
  • このソースのコンパイルできません。

    java, サーブレット初心者でコンパイルできません。エラーは以下のとおりです。 初歩的な質問で申し訳ないですがよろしくお願いします。 http://www.javaroad.jp/opensource/js_tomcat2.htm のページのHelloServlet.javaをコピーしてコンパイルをしようとしたらエラーが、、、。 import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println("<BODY>"); out.println(new java.util.Date()); out.println("</BODY>"); out.println("</HTML>"); } } ーーーーーーーーーーーーーーーーーーーーーーーーーーー HelloServlet.java:7: エラー: パッケージjavax.servletは存在しません import javax.servlet.*; ^ HelloServlet.java:8: エラー: パッケージjavax.servlet.httpは存在しません import javax.servlet.http.*; ^ HelloServlet.java:10: エラー: シンボルを見つけられません public class HelloServlet extends HttpServlet { ^ シンボル: クラス HttpServlet HelloServlet.java:11: エラー: シンボルを見つけられません public void doGet(HttpServletRequest request, ^ シンボル: クラス HttpServletRequest 場所: クラス HelloServlet HelloServlet.java:12: エラー: シンボルを見つけられません HttpServletResponse response) ^ シンボル: クラス HttpServletResponse 場所: クラス HelloServlet HelloServlet.java:13: エラー: シンボルを見つけられません throws IOException, ServletException { ^ シンボル: クラス ServletException 場所: クラス HelloServlet エラー6個 エラー

    • ベストアンサー
    • Java
  • ファイル読み込みで

    市販のテキストでファイルを読み込むプログラムを作ったのですがうまくできません。 import java.io.*; public class ShowFile{ public static void main(String args[]){ if(args.length != 1){ System.out.println("使用法: java ShowFile ファイル"); System.out.println("例: java ShowFile ShowFile.java"); System.exit(0); } String filename = args[0]; try{ BufferedReader reader = new BufferedReader(new FileReader(filename)); String line; while((line = reader.readLine()) != null){ System.out.println(line); } reader.close(); }catch(FileNotFoundException e){ System.out.println(filename + "が見つかりません"); }catch(IOException e){ System.out.println(e); } } } javac ShowFile.javaでコンパイルはうまくいったのですが、 実行時にjava ShowFile input.txtとするとException in thread "main" java.lang.NoClassDefFoundError: ShowFile というエラーが出ます。input.txtというファイルは存在します。 アドバイスをお願いします。

    • ベストアンサー
    • 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

専門家に質問してみよう