Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 股票市场投资者模拟_Java_Oop - Fatal编程技术网

Java 股票市场投资者模拟

Java 股票市场投资者模拟,java,oop,Java,Oop,我必须编写一个程序,模拟投资者在股票市场买卖股票。投资者需要工具来展示他的投资组合和买卖股票。股票价值可以上下波动,所以应该对市场进行无基础的模拟 共有7个级别,所有级别都必须分阶段完成: 级别1–包括屏幕输出、键盘输入和基本类。 程序中至少有三个主要类的java源文件。 代码的所有实现部分都需要良好的源代码注释和代码缩进 示例:该程序读取并打印股票名称及其基本特征 级别2–包括至少三个主要类的方法和变量,以及上述所有构造 每个类至少有3种主要方法完全实现并适用 示例:如上所述,还显示了买卖股票

我必须编写一个程序,模拟投资者在股票市场买卖股票。投资者需要工具来展示他的投资组合和买卖股票。股票价值可以上下波动,所以应该对市场进行无基础的模拟

共有7个级别,所有级别都必须分阶段完成:

级别1–包括屏幕输出、键盘输入和基本类。 程序中至少有三个主要类的java源文件。 代码的所有实现部分都需要良好的源代码注释和代码缩进

示例:该程序读取并打印股票名称及其基本特征

级别2–包括至少三个主要类的方法和变量,以及上述所有构造

每个类至少有3种主要方法完全实现并适用 示例:如上所述,还显示了买卖股票的概念

第3级–将实施至少三个主要项目类,方法有效且设计良好,所有结构均在上述范围内 对至少一个超类和三个子类使用继承 类、方法和变量命名将清晰一致

示例:如上所述,还有一个基本的股市模拟,尽管大多数细节、评论等可能非常简单

级别4–多态性至少应用于三个子类,以及上述所有构造

将实施至少四个主要课程,方法有效且设计良好,注释清晰且一致应用于课程和方法层面

示例:如上所述,但模拟更为自然,有一个关于 报告重大事件的股票

级别5–在程序的所有部分以及以上所有构造中使用Java集合框架中的ArrayList或其他类。在程序的所有部分中适当执行异常处理继承正确应用于程序的所有部分

示例:如上所述,但所有类型的帐户和功能现在都将包含在模拟中。模拟现在主要由一个基本的GUI控制

级别6–包括文件输入和/或输出,以及上述所有结构 包括玩家移动在内的模拟将显示在GUI上,多态性将在程序的所有部分完全实现

示例:如上所述,现在有一个完整的GUI控制模拟的所有方面;数据应该从文件中读取

7级-包括A级考试所需的所有内容,但也包括使用其他更高级结构或算法的特殊内容, 或者是你自己读的东西。让它成为一个有人真正想要使用的程序

例如:。。真实历史数据、移动平均线

这是我的代码。我得到的错误是找不到共享部分的数组:

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Arrays;

public class StockMarketInvestor
{

    public StockMarketInvestor()
    {

    }

    public static void main(String[]args)
    {
        String name;
        int numberShares;
        double buyPrice,sellPrice;
        create String; array

        String[] shares = new String[]{"ARM", "IBM", "Google", "Facebook", "Twitter", "Samsung", "Lenovo", "Intel"};

        ArrayList list = (ArrayList) Arrays.asList(shares);

        System.out.println("String array converted to List");

        for(int i=0; i < list.size(); i++)
        {
            System.out.println(list.get(i));
        }

        Scanner input = new Scanner(System.in);
        System.out.print("Which share would you like to purchase?");
        name=input.nextLine();

        System.out.print("How many shares bought?");
        numberShares=input.nextInt();
        System.out.print("Buy price?");
        buyPrice=input.nextDouble();       
        System.out.print("Sale price?");
        sellPrice=input.nextDouble();        
        input.close();       

        System.out.println(name + "here is the information of your stock transactions:");
        System.out.println("Number of shares:" + numberShares);        
        System.out.println("Amount of purchase:" + buyPrice*numberShares);      
        System.out.println("Amount of sell:" + sellPrice*numberShares);      
        System.out.println("Transaction fee paid:" + 15 + 15);
        System.out.println("Net profit:" + (sellPrice*numberShares-buyPrice));

    }

}

任何建议都将不胜感激。

如果您只使用一个简单的数组,那么将数组转换为ArrayList还需要额外的步骤吗

通过列表进行迭代效果很好,如下所示:

public class StockMarketInvestor {

    public StockMarketInvestor() {

    }

    public static void main(String[] args) {
        String name;
        int numberShares;
        double buyPrice, sellPrice;

        String[] shares = new String[] { "ARM", "IBM", "Google", "Facebook", "Twitter", "Samsung", "Lenovo", "Intel" };

        System.out.println("Going trough the list: ");

        for (int i = 0; i < shares.length; i++) {
            System.out.println(shares[i]);
        }

        Scanner input = new Scanner(System.in);
        System.out.print("Which share would you like to purchase?");
        name = input.nextLine();

        System.out.print("How many shares bought?");
        numberShares = input.nextInt();
        System.out.print("Buy price?");
        buyPrice = input.nextDouble();
        System.out.print("Sale price?");
        sellPrice = input.nextDouble();
        input.close();

        System.out.println(name + "here is the information of your stock transactions:");
        System.out.println("Number of shares:" + numberShares);
        System.out.println("Amount of purchase:" + buyPrice * numberShares);
        System.out.println("Amount of sell:" + sellPrice * numberShares);
        System.out.println("Transaction fee paid:" + 15 + 15);
        System.out.println("Net profit:" + (sellPrice * numberShares - buyPrice));

    }

}

如果你专注于一个特定的问题,帮助你会容易得多。欢迎来到堆栈溢出!寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。