计算交易量加权价格

时间:2016-08-29 16:21:31

标签: java arraylist

    ...
    else if(choice == 3) {  

        ArrayList<Integer> shares = new ArrayList<Integer>();
        System.out.print("Type in quantity: ");
        int quantity = Integer.parseInt(reader.nextLine());
        System.out.println("Enter total quantity either as a single number or many numbers by pressing enter after each: ");
        while (reader.hasNextInt()) {
            int share = reader.nextInt();
            shares.add(share);
        }
        System.out.println("Enter total price: ");
        Scanner reader1 = new Scanner(System.in);
        double price = Double.parseDouble(reader1.nextLine());
        int sum = 0;
        System.out.println((price*quantity)/sum);
        for(Integer d : shares){
            sum += d;
        return;
    }

这里我试图计算3个值中的单个值(price*quantity)/sum这是主要公式,但是通过首先输入一系列整数来计算总和值,然后将这些整数求和并在主公式中使用。 问题:

  1. 我无法在用户输入Null值时停止While循环,我只是设法在用户输入字母而不是数字时停止

  2. 目前,当我运行此程序时,我得到一个结果Infinity为什么?

1 个答案:

答案 0 :(得分:1)

  1. 因为您正在检查render() { return ( <List> {this.props.data !== undefined ? this.props.data.days.map(function(item){ return ( <ListItem>Hej</ListItem> ); }) : null} </List> ); } ,仅对非整数输入返回false。
  2. 如果您想要输入直到文件结尾,您可以这样做:

    reader.hasNextInt()
    1. 您获得String input = null; while(!(input = sc.nextLine()).isEmpty()) { int share = Integer.parseInt(input); shares.add(share); } ,因为您要除以值为零的和。
    2. 我想你可能会尝试这样做:

      Infinity