- ベストアンサー
実行画面で表示されるエラーのことなんですが
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
私の環境では実行できました。 実行コマンドはどう打っていますか? >java ServerMain と実行されていますでしょうか? あと、パッケージなどは利用されていますか?
その他の回答 (4)
- watuki
- ベストアンサー率75% (3/4)
例外から察するにmain.javaというファイル名でしょうか。 main.java --- public class main { public static void main(String[] args){ // ※ System.out.println("Hello world!"); } } 質問にあるエラーは↑みたいに書かれているはずが、 ※の行がないために出ているエラーです。 ※の行のメソッドを定義してあげれば動くと思われます。 (インデントを全角空白でやってるので、コピペする際には気をつけて下さい)
- pcbeginner
- ベストアンサー率46% (261/560)
・タイプミスはありませんか? ・クラスパス上に「mainメソッドのない」同名のクラスあり、クラスパスにそっちが先に記述されていたりしませんか?
- kscKane
- ベストアンサー率62% (18/29)
実行しようとしているクラスに対して、クラスパスが通っていない場合、 また、mainメソッドの書き方が間違っている場合が考えられます。 クラスパスの設定をしているなら、それを確認してください。 正しいと思われる/設定していないなら、ソースをご提示いただけるとなんだか原因が分かるかもしれません。
補足
ご回答ありがとうございます。 なにしろ、javaやったことないのにいきなり卒論でクラサバのプログラム作れといわれたもので(汗) プログラムのせるのでよろしくお願いします。 class Server extends Thread{ private Socket client; private String ans; private int ans2; private String str; private int str2; private int number; private int ritu; private String name; public Server(Socket i,int n){ client = i; number = n; } public void run(){ try{ int a,n,t,s; int ritu; int ans2; int amari=0; int rand[]={0,1,2,3,4,5,6,7,8,9}; t=s=n=ritu= 0; ans2=0; Random ran = new Random(); ran.setSeed(System.currentTimeMillis()); for(int wh = 9;wh >1;wh--){ s = ran.nextInt(9); t = rand[wh]; rand[wh] = rand[s]; rand[s] = t; } InputStreamReader fisr = new InputStreamReader(client. getInputStream()); BufferedReader fin = new BufferedReader(fisr); String name = fin.readLine(); System.out.println(name); while(n!=10){ FileInputStream objFis = new FileInputStream("eitango"+rand[n]+".txt"); InputStreamReader objlsr = new InputStreamReader(objFis,"Shift_jis"); BufferedReader objBr = new BufferedReader(objlsr); PrintWriter out = new PrintWriter(client.getOutputStream(),true); //1行ずつファイルを読み込む if (n==0){ out.println("Hello,clientNo:" + number +"\n"); } for(a=0;a!=6;a++){ if(a==5){ String ans = objBr.readLine(); ans2 = ans.length(); System.out.println("ans2 = "+ans2); } if(a!=5){ out.println(objBr.readLine()); } } InputStreamReader isr = new InputStreamReader(client.getInputStream()); BufferedReader in = new BufferedReader(isr); String str = in.readLine(); int str2 = str.length(); System.out.println("str2="+str2); System.out.println("ans2="+ans2); if(str2==ans2){ ritu++; }else{ System.out.println("×"); } System.out.println("正解数:"+ritu); n++; } PrintWriter out2 = new PrintWriter(client.getOutputStream(),true); out2.println("おつかれさまでした\n"); while(amari!=6){ out2.println(""); amari++; } FileOutputStream objF = new FileOutputStream("seiseki.txt",true); OutputStreamWriter objO = new OutputStreamWriter(objF); BufferedWriter objB = new BufferedWriter(objO); objB.newLine(); objB.close(); out2.println("clientNo:"+number+"さんは10問中"); out2.println(ritu); out2.println("問正解です。"); client.close(); }catch (FileNotFoundException e){ e.printStackTrace(); }catch(UnsupportedEncodingException e){ e.printStackTrace(); }catch (IOException e){ System.err.println("エラーが発生しました:" + e); } } } class ServerMain{ public static void main(String[] args){ int n=1; try{ ServerSocket server = new ServerSocket(1000); while (true){ Socket client = server.accept(); System.out.println("accept client No."+ n); new Server(client, n).start(); n++; } }catch(Exception e){ System.out.println("エラーが発生しました:" + e); } } }
- pcbeginner
- ベストアンサー率46% (261/560)
おそらく java Hoge として実行していると思います。 java Hoge を実行すると、HogeクラスのmainメソッドがJavaから呼ばれて実行されます。 Hoge.javaの中に public static void main(String[] args) というmainメソッドはありますか? 表示されてるエラーは 「(mainってメソッドを呼んだけど)mainなんてメソッドが見つからないよ。」 って意味です。 参考にしている本や、サイトなどがありましたら、もう1度最初から熟読しましょう。
補足
ご回答ありがとうございます。 ですがmainメソッドがあるのにこのエラー文が表示されます。これは何がおかしいのでしょうか?
関連するQ&A
- Javaの実行できません、教えてください。
Javaの実行できません、教えてください。 http://members2.jcom.home.ne.jp/take_1118/Applet39.html このページのサンプルプログラムを実行したいですが、どうしても Exception in thread "main" java.lang.NoSuchMethodError:main というエラーが出るため、実行できません。 どうすればできるんでしょうか?教えてください、お願いします。 サンプルプログラムではmainメソッドが含まれていないようですが、そうすれば実行できるんでしょうか?
- 締切済み
- Java
- Javaが実行されません。
javacコマンドは正常に動くのですが、 javaコマンドを使用すると Exception in thread "main" java.lang.NoclassDefFoundError:Sample2 と表示されるんですよ。 どのクラスファイルに対してもそうで、 以前実行できたクラスファイルに対しても そのエラーが出るんです。
- ベストアンサー
- Java
- 実行時に出るエラーの意味が解りません
Javaで、「SystemFont 」というクラス名をつけて プログラムを組み、コンパイルしてその後実行したところ Exception in thread "main" java.lang. NoClassDefFoundError:SystemFont というエラーが表示されるだけで実行できません。 このエラーの示す意味をどなたか教えて頂けませんか?
- ベストアンサー
- Java
- javaの実行エラーです
Javaのソースファイルをコンパイルまでしました。Classファイルもできています。 実行すると、下記のエラーです。 Exception in thread "main" java.lang.UnsupportedClassVersionError: Hello (Unsupported major.minor version 50.0) よろしくお願いします。
- 締切済み
- Java
- Javaの実行エラーが起きます。
Javaの実行エラーが起きます。 Exception in thread "main" java.lang.UnsatisfiedLinkError: no nativetimer in java.library.pathの解決方法 現在、大学で研究をしており、その関係でネットからひろったJavaのプログラムを動かそうとしているのですが、実行すると上記のようなエラーにより実行できずに困っています。eclipseを使っています。何か解決方法があれば、教えてください。
- ベストアンサー
- Java
- Java実行でのエラー
Javaを勉強したいのでインストールしてみたところまでは良かったのですがコンパイルを通した後に実行すると動きません。 CLASSPATH:c:\Java JavaファイルがJavaフォルダの中に入っている状態です。 【手順】 c:\Java>java HelloJava.java ↓コンパイル成功 c:\Java>java HelloJava Exception in thread "main" java.lang.NoClassDefFoundError: HelloJava というエラーが出てJavaを実行できません。 エラーの内容がわかる方はがいらっしゃれば教えて頂きたいです。
- ベストアンサー
- Java
- Java2Dの実行エラー(2)
作成したJavaのソースをjavacでコンパイルを通し、 そのあとにjavaコマンドで実行を通したところ、 以下のようなエラーメッセージが出力され実行できませんでした。 (作成したクラスファイルは「EdgeDetection.class」です。) ------------------------------------------------- C:\TEMP>java -cp . EdgeDetection Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at EdgeDetection.main(EdgeDetection.java:31) ------------------------------------------------- このエラーを解消するためにもクラスパスの設定(-classpathオプション)もしましたが、駄目でした。 この現象を解決するには、どのようにしたらよろしいのでしょうか?
- ベストアンサー
- Java
お礼
今まで >java Server とやっていましたが、ご指摘の通りにやったところできました。 ありがとうございました。