Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Code Block

...

languagejava
titleWeightProgram
linenumberstrue
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.