2017-12-06 1 views
0

죄송합니다, 자세히 설명해야합니다.어떻게 배열의 가치를 계산합니까?

자바 쓰는 쓰고 간단 array 3 배 입하입니다. 새롭게 시작된 모든 자동차는 새로운 거래로 표시됩니다 :

~~ 1 주당 $ 100/share에서 1 주를 구매했습니다.

2 주를 $ 200/share 시간에 구입합니다.

3 주를 300 달러/주에 구입합니다.

손에 총 6 몫. ~~

주당 평균 구매 가격을 계산하는 방법은 무엇입니까? 계속해서 새 차를 추가하여 계속 달리고 있습니다.

package javaex; 

import java.util.ArrayList; 
import java.util.function.Predicate; 

    public class javaExstockprice 
     public static void main(String[] args){ 
     ArrayList<Car> al= new ArrayList(); 
     al.add(new Car(1,100)); 
     al.add(new Car(2,200)); 
     al.add(new Car(3,300)); 

     System.out.println("showsharesbuyingmethod-alltransaction = shares : buying"); 
     al.forEach(c->c.showsharesbuying()); 
     System.out.println(); 
     al.removeIf(c->c.shares>1); 
     System.out.print("transcation amount 1 share/below"); 
     System.out.println(); 
     al.forEach(c->c.showsharesbuying()); 
     System.out.println(); 
    } 







    class Car 
    float shares; 
    float buying; 
    Car (float a, float b) { 
     shares = a; 
     buying = b; 
    } 

    void showsharesbuying() { 
     System.out.println("showsharesbuying " + shares+ " : " + buying); 
    } 
+0

실제 질문은 무엇입니까? '주당 평균 구매 가격을 계산하는 방법'또는 목록 크기가 변경 될 때 계산 방법은 –

+0

먼저 3transaction averge 주가를 계산하는 코드를 추가하는 방법. –

+0

나는 아직도 질문이 뭔지 잘 모르겠다. 그러나 만약 당신이 단일 차의 범위 밖에있는 것을 계산하고 싶다면 나는 단순한 List보다 더 많은 것을 당신에게 추가 할 것을 조언한다. '거래'를 계산하고 원하는대로 계산하십시오. – BrunoJCM

답변

0

글쎄, 당신이 원하는 것을 추측하려고 여기 내 마음에 오는 것입니다 :이 같은 정적 방법에 대한 논리를 갖는

import java.util.List; 
import java.util.ArrayList; 
import java.util.function.Predicate; 

public class JavaExStockPrice { 

    public static void main(String[] args){ 

     List<Car> al= new ArrayList(); 
     al.add(new Car(1,100)); 
     al.add(new Car(2,200)); 
     al.add(new Car(3,300)); 

     System.out.println("showsharesbuyingmethod-alltransaction = shares : buying"); 
     al.forEach(c->c.showSharesBuying()); 
     System.out.println("Avg: " + priceAvg(al)); 
     System.out.println(); 
     al.removeIf(c->c.shares>1); 
     System.out.print("transcation amount 1 share/below"); 
     System.out.println(); 
     al.forEach(c->c.showSharesBuying()); 
     System.out.println("Avg: " + priceAvg(al)); 
     System.out.println(); 
    } 

    static double priceAvg(List<Car> l) { 
     return l.stream().mapToDouble(c -> c.buying * c.shares).average().getAsDouble(); 
        l.stream().mapToDouble(c -> c.shares).average().getAsDouble(); 
    } 

} 



class Car { 
    float shares; 
    float buying; 

    Car (float a, float b) { 
     shares = a; 
     buying = b; 
    } 

    void showSharesBuying() { 
     System.out.println("showsharesbuying " + shares+ " : " + buying); 
    } 
} 

좋은 생각이 아니다,하지만 난 모르겠어요 그것이 당신이 알고 싶어하는 것이라면.

+0

나는 더 명백하게, 당신이 이해하기를 바랍니다, 감사합니다. –

+0

@sallytam은 각 항목의 가격이 주당 가격이라는 점을 고려하여 내 대답을 편집했습니다. 이것은 당신이 원하는 것을 줄 것입니다. – BrunoJCM

관련 문제