こんばんは。

コンパイルしたらこんなエラーがでました。
どうすればいいか教えてください。
お願いします

>クラスまたはインタフェース宣言がありません

このQ&Aに関連する最新のQ&A

A 回答 (9件)

 たくさんの人たちがお答えになっておられますので,もはや必要ないかとも思いますが,ちょっとしゃべりたいことを付け加えておきます.



 今までの質問の流れからして,何らかのサンプルプログラムを丸写しで打ち込んで,それをコンパイルしようとしておられるものと思われます.
 言語を勉強するのに,その方法自体はまっとうだとは思うのですが,もう少しドキュメントを読み込まれてからのほうがいいのでは?.
 main()メソッドの事を知らなかったり,クラス宣言をしなかったり,さらにプログラム中に全角スペースを使用するなど,入門書の最初のほうだけでも読んでおられれば分かることだと思います.

 とりあえず,attack()というメソッドを動かしたいのなら,下記BLACKTALONさんのmain()メソッドに加えて,

public static void main(String Args[]){
HELLO h = new HELLO();
h.attack();
}

 が必要です.普通なら,こんなことまでは言わなくても分かると思いますが.

 非常に失礼なんですが,一応聞かせてもらいますが,ソースコードを書いて質問なさらないことといい,HTTPプロトコルを直接いじって何かしようとしておられることといい,attack()というメソッド名といい,どこかから拾ってきた妙なことをするプログラムを何も知らないでただ動かそうとしているわけではありませんよね?.違っていたら本当にごめんなさい.こんなことをここに書くのはかなり礼を失しているかもしれません.
 まぁ,そんなことするのにわざわざJavaを使う人もいないと思いますが.
    • good
    • 0

HELLOクラス内に


public static void main(String Args[]){
HELLO h = new HELLO();
}
と追加してください。

「非常に基礎的」な事を質問していることから質問者はJavaに関する知識が
乏しいものと思われます。

いちいち質問していても解決までに時間がかかるでしょうから、
Java言語に関する入門書やそれに類するWebページなどを多数当たって
独習されることをおすすめします。

なお、使用するエディタは全角空白・タブ文字を色などで表示したり
単語の強調表示などの機能のあるエディタを使用されることをおすすめします。

プログラミング上のトラブルで解決の足がかりになると思われる
ページと参考書をあげておきます。
http://www.gimlay.org/~andoh/hatena/java/
http://java-house.etl.go.jp/ml/topics/
http://www.shoeisha.com/book/Detail.asp?bid=913& …

なお、URL中のMailing Listは初心者質問のサポートを目的としたもの
ではないのでご注意ください。
    • good
    • 0

ちゅうかクラスファイルにクラスパス通っているんですかね?


.javaのせいもあるけど。
    • good
    • 0

とりあえず、javaするときは、.classは付けてはいけないと思います。


> C:\jdk1.2.2\bin>C:\jdk1.2.2\bin\java.exe HELLO.class
これだと、HELLOパッケージのclassクラスに対してjavaしようとしている
ことになってしまうのではなかったか、と。ということで、
C:\jdk1.2.2\bin>java HELLO
で実行するのが、一応スタンダードなやり方ということになります...

> void attck()にどうやってmainをつけるのですか?
mainはstaticなメソッドとして実装しますから、付けるとすれば、
HELLOクラスに付けることになるでしょう。
けれども、HELLOクラスが何かのクラスをextendsしていれば、
付けなくても、このエラーが出ない可能性はあります。

ところで、「javaからcgiにアクセスする」ってどういうことですか?(^^;
    • good
    • 0

文頭にてパッケージ宣言の後に


java.net.Socketとjava.io.PrintWriterをimportすることで
解決できると思われます。

import java.net.Socket;
import java.io.PrintWriter;

これで見つかりませんと言うのは、回避できます。
これでも、初期化されていません。と言うのが残るようでしたら
一度、PrintWriter pw = null;
としてから、pw = new PrintWriter( socket.getOutputStream() );
と言う風にしてください。
コンパイラによってこれを注意するのもありますから。。。

この回答への補足

ありがとうございます。クラスファイルができました。
しかし、実行ができません。

------コマンドを実行します------

C:\jdk1.2.2\bin>C:\jdk1.2.2\bin\java.exe HELLO.class
Exception in thread "main" java.lang.NoClassDefFoundError: HELLO/class

C:\jdk1.2.2\bin>

void attck()にどうやってmainをつけるのですか?

補足日時:2001/04/25 00:11
    • good
    • 0

void の前に全角スペース入力してませんか?.

この回答への補足

ありがとうございます。
アドバイスどおりにコンパイルしたら文字エラーはでなくなったのですが
こんなエラーがでました。


HELLO.java:10: クラス Socket が見つかりません。
Socket socket = new Socket( host, port );
^
HELLO.java:10: クラス Socket が見つかりません。
Socket socket = new Socket( host, port );
^
HELLO.java:11: クラス PrintWriter が見つかりません。
PrintWriter pw = new PrintWriter( socket.getOutputStream() );
^
HELLO.java:11: クラス PrintWriter が見つかりません。
PrintWriter pw = new PrintWriter( socket.getOutputStream() );
^
HELLO.java:13: 変数 pw は初期化されていない可能性があります。
pw.println( method + " " + code + " HTTP/1.0" );
^
HELLO.java:24: 変数 pw は初期化されていない可能性があります。
pw.close();
^
エラー 6 個


なにかコンポーネントをインストールしないけないでしょうか?

補足日時:2001/04/24 14:25
    • good
    • 0

 しばらくJavaいじってないので、忘れてしまったのですが、下のメッセージは、確か、日本語文字列部分の漢字コードが間違ってるか、プログラムコード中に使えない文字があるときにでたエラーだったと思います。



 一応書いておきますが(知ってたらごめんなさい)、Javaのソースファイルは一つのファイルに最低でも以下の記述が必要だと思います。

class クラス名{
}

 これだけだとエラーでたっけ?。

 クラス名の後ろの{と}の間に、メソッドやメンバ変数をずらずら記述してください。

 プログラミングのエラーなどに関する質問は、わからない部分、エラーがでた部分だけでも、それがわからない場合はエラーメッセージを書いて質問するのがマナーだと思いますよ。

この回答への補足

すいません。これです。

HELLO.java:3: 入力文字が無効です。
 void attack() {
^
エラー 1 個

おねがいします。

補足日時:2001/04/24 00:52
    • good
    • 0

かんたんなソースコード概略(簡単なもので有ればすべて)と


エラーの詳細な状態をできれば教えていただきたいかと。

この回答への補足

すいません。これです。 javaからcgiにアクセスするものです。

HELLO.java:3: 入力文字が無効です。
 void attack() {
^
エラー 1 個

おねがいします。

補足日時:2001/04/24 00:55
    • good
    • 0

お見受けした所、Javaを始められたばかりのようですね。


僕もそんなに詳しくないので他の方が答えられるのを待ったほうがいいのかもしれませんが。

ファイル名とクラス名で大文字小文字が一致していなくは無いですか?
Javaは大文字と小文字を区別するので、
ファイル名がhello.javaでクラス名がHelloだったりするとエラーになります。

見当違いだったらごめんなさい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
クラス名がありませんでした。
ところが今度はこのエラーがでました。

>入力文字が無効です。

教えてください。おねがいします。

お礼日時:2001/04/22 21:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報