マンガでよめる痔のこと・薬のこと

こんなソースがあります。。

public class Check {
public static void main(String[] args) {

int i = Integer.parseInt(args[0]);

if (i == 123) {
System.out.println("あたり!");
} else if (i < 123) {
System.out.println("はずれ!");
} else {
System.out.println("おおはずれ!");
}
}
}

これを、int型の文字を入力して判定させるのではなく、String型の文字で判定させたいのですが、
int i = Integer.parseInt(args[0]);をどう変えればいけるでしょうか?

よろしくお願いします!

A 回答 (2件)

argsはそもそもString[]型ですね。



でもString型で比較する訳でしたら、等しいか、等しくないかだけです。
 args[0] == "123"
は文字列が等しいととれば良いですが
 args[0] < "123"
なんて比較できません。
文字列ではなく、文字ごとであればできます。
args[0].charAt(0)
のように文字にすれば比較できます。

public class Check {
public static void main(String[] args) {

if ( args[0].equals("123") ) {
System.out.println("あたり!");
} else {
System.out.println("はずれ!");
}
}
}

こんなところでいかがでしょうか?
「あたり」よりも小さい数値や大きい数値で条件分岐するのであれば、やはりint型で行うほうが賢明です。
    • good
    • 0
この回答へのお礼

大変ありがとうございました!

お礼日時:2003/05/16 13:39

if (args[0].compareTo("123")=0) {


System.out.println("あたり!");
} else if (args[0].compareTo("123")<0) {
System.out.println("はずれ!");
} else {
System.out.println("おおはずれ!");
}

というのはどうでしょうか?
    • good
    • 0
この回答へのお礼

どうもありがとうございました!

お礼日時:2003/05/16 13:39

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


人気Q&Aランキング