dポイントプレゼントキャンペーン実施中!

同じような質問をしてしまいまして
大変にご迷惑をお掛けしますが
ご質問させて頂きます。
以前、皆さんのご協力により
大変に勉強になったんですが
まだエラーが取れなくて困っています。
jukou.classとTestMap.classは同じフォルダにあります。jukou.javaからTestMap.javaを呼び出そうとすると、jukou.javaの方で以下のようなコンパイルエラーが表示されてしまいます。
--------------------
jukou.java:85: TestMap の main(java.lang.String[]) は (java.lang.String) に適用
できません。
TestMap.main(\"C\") ;
^
エラー 1 個
---
TestMap.main(\"C\") ;
は、TestMap(\"C\") ;の方が正しいと思いますが、こちらでもエラーになります。

以下がコードです。
TestMap.java
---
import java.util.*;
public class TestMap
{
/*HashMap生成(クラス変数)*/
class MyData{
public String sDate;
public String sName;
}

private static HashMap hashMap = new HashMap();

/*追加:入力キー(クラス変数)*/
public static String inputKey = null;
private String[] keys = {};

public static void main(String SYAINNO[]){
try{
TestMap testMap = new TestMap();
testMap.setMap(\"test.csv\");
/*Keyに対応する出力の判断*/
if(testMap.checkKey(SYAINNO[0])){



public String getStr(){
return \"呼ばれてますよ!\" ;
}
---

jukou.java
--
import java.io.* ;



/* LOOKUP用処理 */
else if (req.getParameter(\"map\") != null) {
TestMap.main(\"C\") ;
}
pw.close() ;
}

ご教授して頂けたら幸いです。

A 回答 (2件)

>(2)につきましては、TestMap.mainを呼び出して、「C」を引数として渡したいのです。

(本来は変数ですが)

それなら
------------------
//Stringの配列を宣言
String[] strings = {"C"};

//TestMap.main()の呼び出し
TestMap.main(strings) ;
------------------------
でできると思います。
    • good
    • 0
この回答へのお礼

ご返事有り難うございました。
お陰様で解決しました。

お礼日時:2003/07/03 15:08

/* LOOKUP用処理 */


else if (req.getParameter(\"map\") != null) {
TestMap.main(\"C\") ;
}
pw.close() ;
}
----------
「main」を、他のメソッドから呼び出す例はあまり一般的ではないですが、
まあこれはいいとしましょう。

問題はmain()メソッドの引数が合ってないことです。
エラーメッセージにあるとおりです。
main()の引数には「Stringの配列」が必要なのであり、
Stringだけでは型が合いません。

あと、"の前にある¥マークは何ですか?
こういうのがあると正常に動くように思えないのですが。

----------------
TestMap.main(\"C\") ;
は、TestMap(\"C\") ;の方が正しいと思いますが、こちらでもエラーになります。
---------------------

前述のところを「.main」を削除してもエラーになるということでしょうか。
すると、構文としてはコンストラクタになりますが、
newがついてないし、引数付きのコンストラクタが見あたらないので、
意味があるとは思えません。

失礼ですが、コードを見てもよくわかりません。
せめて次の2点を補足してください。

(1)"の前にある\は何のためか?

(2)TestMap.main(\"C\") ;のところでは何をしたかったのか?
本当にTestMap.mainを呼び出したかったのか。
それともTestMapのコンストラクタを呼び出したかったのか。

この回答への補足

liar_adanさん、不手際がありまして失礼しました。

(1)の「¥」につきましては、コピペの段階で付いてしまったもので、実際にはありません。

(2)につきましては、TestMap.mainを呼び出して、「C」を引数として渡したいのです。(本来は変数ですが)

補足日時:2003/07/03 14:18
    • good
    • 0

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