有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何获得多个股票利润?

这是我从股票中获得最大利润的解决方案

int[]aktiePris=新int[]{10,7,5,8,11,9};是一个数组,其中指数在股市开盘后几分钟内显示,值是股票的价格

例如,Aktipris[60]=300意味着股票的价值是300,在股市开盘一小时后

现在,我的代码返回我可以通过买卖一只股票获得的最大可能利润。我希望能够卖出不止一只股票。我怎样才能找到所有可能的利润并打印出来

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class ProfitCalculator {
    static int minValue, maxValue, maxDiff;
    static Calendar timeMin, timeMax;
    static int indeksMinMinut, indeksMaxMinut;

    public static void main(String args[]) {

        int[] aktiePris = new int[]{10, 7, 5, 8, 11, 9};
        int profit = findProfit(aktiePris);

        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");

        timeMin = findTime();
        timeMin.add(timeMin.MINUTE, indeksMinMinut);
        timeMax = findTime();
        timeMax.add(timeMax.MINUTE, indeksMaxMinut);
        System.out.println("Best time & price for buying is " + timeFormat.format(timeMin.getTime()) + " for " + minValue + " EUR." + "\n"
                + "Best time & price for selling is " + timeFormat.format(timeMax.getTime()) + " for " + maxValue + " EUR." + "\n"
                + "Profit: " + profit);
    }

    public static int findProfit(int[] inputArray) {

        if (inputArray.length < 1)
            return 0;

        maxDiff = 0;
        minValue = inputArray[0];
        maxValue = minValue;

        for (int i = 1; i < inputArray.length; i++) {
            if (inputArray[i] > maxValue) {
                maxValue = inputArray[i];
                indeksMaxMinut = i;
                int priceDiff = maxValue - minValue;
                if (priceDiff > maxDiff) {
                    maxDiff = priceDiff;
                }
            } else if (inputArray[i] < minValue) {
                minValue = maxValue = inputArray[i];
                indeksMinMinut = i;
            }
        }

        return maxDiff;
    }

    public static Calendar findTime() {

        Calendar calendar = Calendar.getInstance();
        calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 9);
        calendar.set(Calendar.MINUTE, 30);

        return calendar;
    }
}

共 (0) 个答案