• 締切済み

if文を使って…。

if文を使って、 NAME:○○(0v0) HP:200 MP:100 ------------------------ NAME:××(><) HP:5 MP:20 って表示するようにしたいのですがどのように入力すればいいのでしょうか? ちなみに顔文字は残りのHPによって変化するようにしたいのです。 (例)HP:0~9は(><) 10~100は(-_-) 101~500は(0v0)  501~1000は(^^)てな感じで…。 どうかお願いします。 

  • Java
  • 回答数2
  • ありがとう数2

みんなの回答

回答No.2

public class Sample{ public static void main (String[] args){ ~ System.out.println("NAME:"+player1.name+face(player1.hp)); ~ } static String face(int hp) { ~ } } と書いてもらえばいいだけなんですが・・

miyatatu_2005
質問者

お礼

申し訳ないのですが、全文教えてもらえないでしょうか? 自分でやってみてもなかなかうまくいかなくて…。

回答No.1

String face(int hp) { if(hp<10) { return "(><)"; } else if(hp<=100) { return "(-_-)"; } else if(hp<=500) { return "(0v0)"; } else if(hp<=1000) { return "(^^)" } }

miyatatu_2005
質問者

お礼

書き込みありがとうございます。 クラスも使いたいのですが…。 別の問題で使ったやつが、 public class CharData{ String name; int hp; int mp; int 攻撃力; int 守備力; public CharData(){ name = "---"; hp = 0; mp = 0; 攻撃力 = 0; 守備力 = 0; } } public class Sample{ public static void main (String[] args){ CharData player1 = new CharData(); player1.name = "エックス"; player1.hp = 12000; player1.mp = 10000; player1.攻撃力 = 420000; player1.守備力 = 2; System.out.println("NAME:"+player1.name); System.out.println("HP:"+player1.hp); System.out.println("MP:"+player1.mp); System.out.println("攻撃力:"+player1.攻撃力); System.out.println("守備力:"+player1.守備力); これを使って、改良しifを使ってやりたいのです…。 申し訳ないです。

関連するQ&A

  • if文にて…。

    public class Sample{ public static void main (String[] args){ if(player1.hp < 0) { System.out.println("(+_+)"); }else if(hp <= 10){ System.out.println("(T_T)"); }else if(hp <= 100){ System.out.println("(^^)"); }else{ System.out.println("(^-^)"); } CharData player1 = new CharData("ジャガー",250,20); CharData player2 = new CharData("ハマー",10,30); System.out.println("NAME:"+player1.name); System.out.println("HP:"+player1.hp); System.out.println("MP:"+player1.mp); System.out.println("NAME:"+player2.name); System.out.println("HP:"+player2.hp); System.out.println("MP:"+player2.mp); } } このようなプログラムを作成してコンパイルしようとしても、 if(player1.hp < 0)と }else if (hp <= 10){ }else if (hp <= 100){ のplayer1のpとhpのhのところに ^ のマークがありシンボルを解決できません。と出てコンパイルが通りません。 どのようにすれば通るようになるのか教えてください。

    • ベストアンサー
    • Java
  • if文を簡単に

    CGIを改造中です。 オプションメニューを設置しました。 ただ、検索などに利用したかったので、名前と値を別のものにしています。(犬=1,猫=2のように) データ入力画面の方はリストを入力したのですが、名前が50を超えるのでリスト表示画面や検索結果表示画面でif文を大量に書くのは面倒です。 (if($name eq1){print "犬\n";elsif~) どうにかしてこれを簡潔にすることは出来ないものでしょうか?

  • if文を使って

    if文の条件に○○に文字が入力されたらという条件をつけたいのですが どのように記入すればいいのでしょうか??

  • IF文について

    アクセス97での質問です 今、入力フォームを作成してまして、入力チェックのプログラムを作成しているのですが、NULLや文字数等のチェックはうまくいくのですが、どうしてもうまく出来ないのがあるんです それは半角で5文字入力できるテキストボックスがあって その先頭の一文字が半角カナじゃない時にエラーを出したいんです 他のエラーチェックもIF文を使ってやっているので、同じようにIF文で作りたいのですが、いい方法が思い浮かびません わかる方がいらっしゃいましたら教えていただけませんか? 宜しくお願いします

  • if文とfor文で・・・

    キーボードから今月の給料を入力する。       実行例        input 197868            10000---------> 19             5000---------> 1             1000---------> 2             500---------> 1             100---------> 3              50---------> 1              10---------> 1              5---------> 1              1---------> 3       以上のように表示させる。 を配列を使わずにif文とfor文だけでプログラムするんですが、for文をどこで使用すればいいのかわかりません・・・ 環境はunixでemacsを使用しています。

  • IF文の使い方

    IF文の使い方について教えて下さい.一応ヘルプを見て以下のようなIF文を作ったのですが,文字列と認識されてしまっているようで全く意図したような数字が入りません. なお,IF文を入れたセルは書式で確認しても文字列ではなく,標準になっています. やりたいことは,C列の数字がゼロならB列の数字(単価)を使って,ゼロでなければC列の数字(区別単価)を使ってD列の数量をかけた合計をE列に表示(計算)させたいのですが. 下の例だとEのセルには125*1200が入ってもらいたいのです. 単価    特別単価    数量     合計 B列     C列      D列     E列 125      0      1200    IF(C5=0,=D5*B5,D5*C5)

  • EXCELのIF文について

    あるセルに文字が入力されていないときは、もうひとつのセルの数字を=で持ってきて、 入力されたときは0か空白にできるIF文の作り方ありますでしょうか?

  • IF文について

    以下を実現するIF文(又は関数)を教えてほしいのですが・・↓ もし、B2のセルに何か文字が入っていたら、 B1のセルに”○”を表示する。 B2のセルに何も文字が入っていなかったら、何もしない。

  • ExcelのIF文のバグ?

    現在、関数を利用して処理したいデータベースがあります。 =IF(B21<=数値入力!G14,2,3) このような記述のセルがシート内にあります。 ・B21には数値で6 ・数値入力!G14には数値で10 が入っています。この文をEnterで確定すると、なぜか数字の0が出力されます。 2か3,もしくはErrorが出るならわかりますが、0が出力されている状態はどのような原因が考えられますでしょうか? ちなみに、 =IF(6<=数値入力!G14,2,3) このように入力すると3を出力します。B21が文字例になっているのではないかと何度も疑いましたが、数値でした。

  • if文を使った問題について

    次の問題について・・・ 問題: (1)String型の変数を2個作成し、それぞれに自分の名前と年齢を設定する。 (2)標準入力を行う。 (3)標準入力された値が「name」だった場合は名前の入力されている変数の値を表示する。 (4)標準入力された値が「age」だった場合は年齢の入力されている変数の値を表示する。 (5)標準入力された値が「name」と「age」以外だった場合は「わかりません」と表示する。 出力結果: C:\>java NameAge name 岩田 C:\>java NameAge age 27 C:\>java NameAge ?? わかりません 解答例: import java.io.*; class NameAge{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String hoge = br.readLine(); if(hoge.equals("name")){ System.out.println("岩田"); }else if(hoge.equals("age")){ System.out.println("27"); }else{ System.out.println("わかりません"); } } } ************************************************************ 上記の解答例以外に記述方法ってないのでしょうか? 自分は最初switch文を使って出来ると思い、 import java.io.*; class NameAge{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); switch(str){ case "name": System.out.println("岩田"); break; case "age": System.out.println("27"); break; default: System.out.println("わかりません"); break; } } } というふうに記述してみたのですが、 NameAge.java:13:互換性のない型 検出値 : java.lang.String 期待値 : int switch(str){ とエラーが出てしまいました。 恐らくstrの変数をここで使おうとしたことがいけないの だろうと解釈したのですが、 この質問の場合switch文での記述方法というのは無いですか? やはりequals()メソッドを使ってif文で記述するしかない のでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう