Имитация взлета и падения фондового рынка Java - PullRequest
0 голосов
/ 27 октября 2019

Поэтому я пытаюсь написать программу, которая стимулирует взлет и падение фондового рынка в 5 раз. Пользователь вводит значение для создания нового объекта фондового рынка, а затем значение от пользователя, фондовый рынок либобюст (уменьшение) или бум (увеличение). У меня возникает проблема передачи значения каждому оператору if с изменением в цикле. Когда я запускаю программу, она использует то же значение, которое я ввела, а не значение, которое было создано после вызова boom или bust. Я думаю, что я должен создать значение вне цикла, который содержит его, но я не уверен, как это сделать с пользовательским вводом.

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter a Starting Market Value:");
        double mv = in.nextDouble();
        StockMarket u = new StockMarket(mv);

        for (int i = 0; i < 5; i++) {

            System.out.println("Boom (1) or Bust(2)? ");
            int t = in.nextInt();

            if (t == 1) {
                System.out.println("Enter a percentage of increase as a decimal ( eg .5 ):");
                double r = in.nextDouble();
                if (t == 1) {
                    double e = u.boom(r);
                    System.out.println("The Stock Market is now at: " + e);
                }
            } else if (t == 2) {
                System.out.println("Enter number of points lost:");
                double l = in.nextDouble();

                if (t == 2) {
                    double f = u.bust(l);
                    System.out.println("The Stock Market is now at: " + f);
                }
            }

        }
    }
} 

Ниже приведен класс

public class StockMarket {

//Instance Variable Points

    private double Points;

// Default no Argument Constructor

    public StockMarket(){

        this(0.0);
    }
// Constructor #2

    public StockMarket(double Points){

        this.Points = Points;
    }

//
    public double getPoint(){


        return Points;

    }

    public double boom(double x){

       x = Points * (1 + x);
        return x;
   }

   public double bust( double h){

        h = Points - h;
        return h;
   }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...