-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 );
}
}

我想要:

  • 在项目类中创建一个随机生成器
  • item 类中的随机生成器应该会影响主教程类中的价格
  • 如果机会变量在 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

首先,由于您的随机设置,这种方法总是正确的。整数机会 = rand.nextInt(20); 总是会给你一个 0-19 之间的数字,所以你不需要一个 if。当您有两个或更多可能的结果或应该处理某些输入时,您通常使用 if 语句。假设根据您购买的克数,您有两种产品价格 P1 和 P2。如果超过 400 克,您将获得 P2,如果少于 400 克,您将获得 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;
    }

在这里,您可以使用基于一个变量的值的 if 语句。希望这可以帮助!

于 2013-04-04T22:00:55.643 回答