package com.operators;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.function.BinaryOperator;
public class TotalCost {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double mealCost = scan.nextDouble(); // original meal price
int tipPercent = scan.nextInt(); // tip percentage
int taxPercent = scan.nextInt(); // tax percentage
scan.close();
Map<Double,Double> map = new HashMap<>();
map.put(mealCost, (double)tipPercent);
map.put(mealCost, (double)taxPercent);
BinaryOperator<Double> opPercent = (t1,t2) -> (t1*t2)/100;
BinaryOperator<Double> opSum = (t1,t2) -> (t1+t2);
calculation(opPercent,map);
}
public static void calculation(BinaryOperator<Double> opPercent , Map<Double,Double> map) {
List<Double> biList = new ArrayList<>();
map.forEach((s1,s2)-> biList.add(opPercent.apply(s1, s2)));
}
}
- Ich habe die unten Problem, das ich in Java zu lösen versuche 8 BinaryOperator.There verwenden drei Eingänge auf diese Anwendung [mealCost (double), tipPercent (int), taxPercent (int)].
Ich versuche, die nachfolgenden Werte zu berechnen:Zusatz in Java 8 mit BinaryOperator
tip = (mealCost*tipPercent)/100; tax = (mealCost*taxPercent)/100; TotalCost = mealCost+tip +tax;
Ich kann einen ganzzahligen Eingabe an die Methode anwenden BinaryOperator passieren. Auch der berechnete Wert in BiList ist nicht korrekt. Unten ist mein Code
Sie auch verwenden möchte 'DoubleBinaryOperator', die anstelle der' Double' Wrapper primitive Werte verwendet – Lino