You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

 

WeightProgram
import java.util.ArrayList;
import java.util.HashMap;

public class WeightProgram {
	
	private HashMap<String,ArrayList<Double>> weightLogs = new HashMap<String,ArrayList<Double>>();
	
	public WeightProgram () {
		
		ArrayList<Double> log1 = new ArrayList<Double>();
		ArrayList<Double> log2 = new ArrayList<Double>();
		ArrayList<Double> log3 = new ArrayList<Double>();

		weightLogs.put("OlaNor", log1);
		weightLogs.put("PerSpe", log2);
		weightLogs.put("EspAsk", log3);	
	}
	
	public String biggestLooser() {
		
		String looserName = "None";
		double highestLoss = Double.NEGATIVE_INFINITY;
		
		double initialWeight;
		double currentWeight;
		double prosentageWeightLoss;
		
		for (String username : weightLogs.keySet()) {
			
			ArrayList<Double> log = weightLogs.get(username);
			
			initialWeight = log.get(0);
			currentWeight = log.get(log.size()-1);
			
			prosentageWeightLoss = 100 - ((100/initialWeight)*currentWeight);
			
			if(prosentageWeightLoss > highestLoss) {
				looserName = username;
				highestLoss = prosentageWeightLoss;
			}
		}
		
		return looserName;	
	}
}

 

 

 

 

 


 

 

 



(6) Her brukes et HashMap til å organisere innveiingsloggene. HashMapet har en String
(deltakernavn) som nøkkel og en ArrayList som verdi. 

(10) Med en ArrayList til å holde på innveiingene vil man enkelt kunne hente vekt etter uketall siden listen er 0-indeksert. Bruker double siden listen skal støtte desimaltall. 

 

 

 

 

 



(28) Bruker metoden keySet() som returnerer alle nøklene HashMapet har, og traverserer disse. 
(30) Henter deretter en og en log med get()-metoden.

(32) Henter element på plass 0 fra ArrayList.
(33) Henter siste element fra ArrayList, (størrelsen - 1) pga 0-indeksert.

 

 

 

 

 

 

 

  • No labels