-6

オブジェクト指向プログラミング (できれば Java) で if ステートメントを使用するにはどうすればよいですか?

import java.util.*;
class item 
{
    Random rand = new Random();
    int chance = rand.nextInt(20);
    String name;
    double price;
    {
        if (chance <= 20){
             price = price * 0.70 ;
        }
    }
}


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

    item i1 = new item();   
    item i2 = new item();

    i1.name = "Soda";
    i1.price = 5;

    i2.name = "Candy";
    i2.price = 2;



    System.out.println ("Name : " + i1.name + 
            " Price : " + i1.price );
    System.out.println ("Name : " + i2.name + 
            " Price : " + i2.price );
}
}

したい:

  • アイテム クラスでランダム ジェネレーターを作成する
  • アイテム クラスのランダム ジェネレーターは、メイン チュートリアル クラスの価格に影響を与える必要があります。
  • 確率変数が 1 ~ 20 の場合、価格を 30% 引き下げます
  • アイテム1と2で動作する必要があります

注:各コードのチャンスのために if ステートメントを実行する必要があるため、チュートリアル クラスでは実行したくありません。うまくいけば、それは役に立ちます。

4

2 に答える 2

2

item私の精神的なデバッグセンスは、クラスにある種のコンストラクターを持たせたいと言っています

class item 
{

    static Random rand = new Random();

    String name;
    double price;

    public item(String nameIn, double priceIn)
    {

        this.name = nameIn;

        int chance = rand.nextInt(20);    
        if (chance <= 20)
        {
            this.price = priceIn * 0.70 ;
        }
    }
}

そして、メインでそれを作成します

item i1 = new item("Soda", 5);
于 2013-04-04T21:47:05.407 に答える
0

まず第一に、ランダム設定により、この方法は常に当てはまります。int チャンス = rand.nextInt(20); 常に 0 ~ 19 の数値が返されるため、if は特に必要ありません。通常、可能性のある結果が 2 つ以上ある場合、または特定の入力を処理する必要がある場合は、if ステートメントを使用します。購入するグラム数に基づいて、製品に 2 つの価格 P1 と P2 があるとします。400 グラムを超える場合は P2、少ない場合は P1 となります。if メソッドの例は次のようになります。

    double p1 = 12;
    double p2 = 10;

    public double findPrice(int grams){
        double price = 0;
        if(grams >= 400){
            price = price * p2;
        } else {
            price = price * p1;
        }
        return price;
    }

ここでは、1 つの変数の値に基づく if ステートメントを使用します。お役に立てれば!

于 2013-04-04T22:00:55.643 に答える