-6

ユーザーからの数字を受け付けるプログラムを作成しました。

私のプログラムのサンプル:

   int strength, health, luck;

JOptionPane.showMessageDialog(null,"Welcome to Yertle's Quest");    

      String name = JOptionPane.showInputDialog("Enter the name of your character");

       Scanner in = new Scanner(System.in);
     System.out.println("Enter strength (1-10): ");
      strength = in.nextInt();

     System.out.println("Enter health (1-10): ");      
      health = in.nextInt();

     System.out.println("Enter luck (1-10): ");      
      luck = in.nextInt(); 

私の問題はこれです: ユーザーは 15 ポイントしか与えることができません。彼が各統計 (強さ、健康、運) に 10 ポイントを超える場合、デフォルト値が各統計に割り当てられます。これは 5 です。各統計 (強さ、健康、運) の合計ポイントが15、デフォルト値は各統計に割り当てられます。

4

3 に答える 3

0
if(strength > 10)
{
 defaultToFive(strength);
}

if(health > 10)
{
 defaultToFive(health);
}

if(luck > 10)
{
 defaultToFive(luck);
}

if((strength + health + luck) > 15)
{
 defaultToFive(strength);
 defaultToFive(health);
 defaultToFive(luck);
}

private void defaultToFive(int stat)
{
 stat=5;
}
于 2013-01-24T15:59:50.817 に答える
0

簡単なifステートメントを使用します。

 import java.util.Scanner;

 public class CheckLuck {

 public static void main(String[] args) {
 Scanner in = new Scanner(System.in);int strength,health,luck;
 System.out.println("Enter strength (1-10): ");
 strength = in.nextInt();

   if(strength>10)    /* chech for each value, should not be >10 */
   strength=5;

 System.out.println("Enter health (1-10): ");
 health = in.nextInt();
   if(health>10)
   health=5;

 System.out.println("Enter luck (1-10): ");
 luck = in.nextInt();

   if(luck>10)
      luck=5;


 if(strength+health+luck>15)   /* If sum  is >15 assign 5 to each value */
  strength=health=luck=5;

 }

}

更新:public voiddecide()の使用

(これがおかしいと思われる場合は申し訳ありません)

 import java.util.Scanner;

 public class TestDecide {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);int strength,health,luck;
System.out.println("Enter strength (1-10): ");
strength = in.nextInt();

if(strength>10)
strength=5;

 System.out.println("Enter health (1-10): ");
 health = in.nextInt();

 if(health>10)
 health=5;

 System.out.println("Enter luck (1-10): ");
 luck = in.nextInt();
  if(luck>10)
      luck=5;

if(strength+health+luck>15)
{
strength=health=luck=5;
decide();
}
else
{
    System.out.println("Congrats!!!!!!!!!!!! for your scores");



}

}
public static void decide()
{
System.out.println("You have given your character too many points! Default values have been assigned: Character, strength: 5, health: 5, luck: 5");


}

}
于 2013-01-24T16:03:40.613 に答える
0

私が質問を正しく理解しているとすれば:

if ( luck + health + strength > 15) {
    luck = 5;
    health = 5;
    strength = 5;
}
if (luck > 10) { luck = 5; }
// same for the other attributes
于 2013-01-24T15:58:19.727 に答える