【最大10000ポイント】当たる!!質問投稿キャンペーン!

下記のプログラムをマニュアル通りに入力したのですが、おそらくマニュアルにミスがあったのでしょう。どこが間違っているのか教えてください。よろしくお願いしますm_ _m

class kadai1710 {
public static void main (String args []) {
System.out.println(args[0]);
if(Integer.parselnt(args[0]) == 1)
System.out.println("男性");
else
System.out.println("女性");
}
}

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

A 回答 (3件)

>if(Integer.parselnt(args[0]) == 1)


parse「l」ntではなくてparseIntです。
Int形にキャストする、という意味です。

アイとエル(小文字)、1等は間違えやすいので気をつけてください。
    • good
    • 0
この回答へのお礼

回答どうもありがとうございます♪

マニュアルのミスではなく自分のミスでしたね、お恥ずかしい…。
ご指摘感謝です!

お礼日時:2010/11/27 01:26

> スペルミスなのでエラーメッセージによる解決は不可能ではないですか。



エラーメッセージを丁寧に読めば、かなりの事が分かりますよ。

実際に javac でコンパイルしてみたところ、下記の様なメッセージが表示されました。
---------------------------------------------------------
kadai1710.java:5: シンボルを見つけられません。
シンボル: メソッド parselnt(java.lang.String)
場所 : java.lang.Integer の クラス
        if(Integer.parselnt(args[0]) == 1)
             ^
エラー 1 個
---------------------------------------------------------

まず、プログラムの5行目でエラーが起こっていることが分かります。
実際に問題が有ったのもその行でした。
(コンパイルしたものにはパッケージ宣言を入れたので、if文は5行目になっています)

また、エラーメッセージの1行目からは、コンパイラは[シンボル]が見つけられなかった事も読み取れます。
2行目を読むと、どうやら[シンボル]とはメソッド [parselnt(java.lang.String)] の事のようです。
3行目と合わせて考えると、「Integer には parselnt(String) メソッドは無い」とコンパイラが言っていることが分かります。
したがって 「 Integer.parselnt(args[0]) 」 のどこかに問題が存在することになります。

これだけ絞り込めれば、あとは Integer / parselnt / args の綴りや Integer に実在するメソッドなどを調べていけばよい訳です。

漠然と間違いを探すより、よくエラーメッセージを読んで問題点を絞り込んでいく事が解決への近道かと。
    • good
    • 0
この回答へのお礼

エラーがif(Integer.parselnt(args[0]) == 1)にあることは分かっていましたが、parselntで検索をかけても(間違いバージョン)、サイトがヒットしてしまうためスペルに問題はないと思っていました。エラーメッセージとは1時間以上にらめっこしていたので実質自力での解決は不可能だったと思います。
指摘マークはピリオドではなくif文全体を指していたのですね。

root139さんのようにエラーメッセージの読み方まで書いていただけると非常に参考になります。

お礼日時:2010/11/28 23:19

エラーメッセージを読め.

    • good
    • 0
この回答へのお礼

エラーメッセージはピリオドに指摘マークが付いており意味がわからなかったので質問させていただきました。

回答をいただいたのにお言葉ですが…、

一行回答に命令形、ここは2ちゃんねるではありませんよ。No.1さんの的確な回答の後になぜそのような回答をする必要があったのか謎です。

スペルミスなのでエラーメッセージによる解決は不可能ではないですか。

お礼日時:2010/11/27 01:36

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング