All pastes #475328 Raw Edit

Someone

public java v1 · immutable
·published 2007-05-07 11:38 UTC
rendered paste body
package met2007;import java.io.Serializable;import java.util.ArrayList;import javax.swing.*;import java.text.DecimalFormat;/** * Register.java * Registerklasse med referanser til all data registrert.  * Inneholder metoder for legge til, fjerne og oppdatere data. * * @author  Øyvind Buer(oyvind@gmail.com), Tore Minsaas(toreminsaas@hotmail.com), Israr Khan(v-iskhan@microsoft.com) * @version 1.00 - Sist oppdatert: 05.05.07 *  */public class Register implements Serializable{		/**	 * 	 */	private static final long serialVersionUID = -168972780585470662L;	private ArrayList<Fylke> fylkeListe;	private DecimalFormat df;		public Register()	{		fylkeListe = new ArrayList<Fylke>();		df = new DecimalFormat("#0.00");		System.out.println("i knost: " + df);	}			public boolean insertFylke(Fylke fylke)	{		return fylkeListe.add(fylke);	}		public boolean insertSted(String fylke, Sted sted)	{		if (fylkeListe.isEmpty())		{			Fylke nyttFylke = new Fylke(fylke);			fylkeListe.add(nyttFylke);			return fylkeListe.get(0).insert(sted);		}		else		{			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i).getNavn().equals(fylke))				{					return fylkeListe.get(i).insert(sted);				}			}			Fylke nyttFylke = new Fylke(fylke);			fylkeListe.add(nyttFylke);			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i).getNavn().equals(fylke))				{					return fylkeListe.get(i).insert(sted);				}			}			return false;		}	}	public boolean insertDato(String fylke, String sted, int år, int mnd, Dag dag)	{		Fylke tempF = getFylke(fylke);		Sted tempS = tempF.getStedObj(sted);				if (tempS.getÅrObj(år) == null)		{			År nyttÅr = new År(år);			tempS.insertÅr(nyttÅr);						Mnd nyMnd = new Mnd(mnd);			tempS.getÅrObj(år).insertMnd(nyMnd);						tempS.getÅrObj(år).getMndObj(mnd).insertDag(dag);						return true;		}		else		{			År tempÅ = tempS.getÅrObj(år);						if (tempÅ.getMndObj(mnd) == null)			{				Mnd nyMnd = new Mnd(mnd);				tempÅ.insertMnd(nyMnd);								tempÅ.getMndObj(mnd).insertDag(dag);								return true;			}			else			{				int dagI = dag.getDag();				if(tempÅ.getMndObj(mnd).getDagObj(dagI) == null)				{					tempÅ.getMndObj(mnd).insertDag(dag);					return true;				}				else				{					int svar = JOptionPane.showOptionDialog(null, "Observasjon på denne dagen finnes fra før\nVil du overskrive?", "Overskrive?", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);					if(svar == JOptionPane.YES_OPTION)						{						double max = dag.getMax();						double min = dag.getMin();						double mm = dag.getMm();												tempÅ.getMndObj(mnd).getDagObj(dagI).update(max, min, mm);						return true;						}					else return false;				}			}		}	}		public Fylke getFylke(String fylke)	{		if (fylkeListe.isEmpty())		{			return null;		}		else		{			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null && fylkeListe.get(i).getNavn().equalsIgnoreCase(fylke))				{					return fylkeListe.get(i);				}			}			return null;		}	}		public Sted getSted(String sted)	{		for (int i = 0; i < fylkeListe.size(); i++)		{			if (fylkeListe.get(i) != null)			{				Sted temp = fylkeListe.get(i).getStedObj(sted);				if (temp != null)					return temp;			}		}		return null;			}	////////////////////////////////////////	////////////////////////////////////////	public År getÅrObj(Sted sted, int år)	{		return sted.getÅrObj(år);			}			public Mnd getMndObj(År år, int mnd)	{		return år.getMndObj(mnd);	}		public Dag getDagObj(Mnd mnd, int dag)	{		return mnd.getDagObj(dag);	}			public String getÅrsMinTempAlleSteder(int år)	{		Fylke tempF;		Sted tempS;		År tempÅ;		Mnd[] tempMnd;		String utskrift = "Laveste registrerte minimumstemperatur for " + år + ":\n\n";		double minTemp = 999;		ArrayList<Sted> tempStedListe;				if (fylkeListe.isEmpty())		{			return "Ingen registrerte data";		}		else		{			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);										tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							if (tempStedListe.get(j) != null)							{								if (tempStedListe.get(j).getÅrObj(år) != null)								{									tempÅ = tempStedListe.get(j).getÅrObj(år);									if (tempÅ.getÅrMinTemp() < minTemp)									{										minTemp = tempÅ.getÅrMinTemp();									}								}															}						}					}				}			}						for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);					tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							tempS = tempStedListe.get(j);							if (tempS != null)							{								tempÅ = tempS.getÅrObj(år);								if (tempÅ != null && tempÅ.getÅrMinTemp() == minTemp)								{									tempMnd = tempÅ.getMndMinTemp();																		for (int k = 0; k < tempMnd.length; k++)									{										Dag[] tempDag = tempMnd[k].getMinTempObj();										for (int l = 0; l < tempDag.length; l++)										{										utskrift += ("Fylke: \t" + tempF.getNavn() + "\nSted: \t" + tempS.getNavn() + "\nDato: \t" + tempDag[l].getDag() + "." + tempMnd[k].getMnd() + tempÅ.getÅr()+ "."  + "\nTemperatur: \t" + minTemp + " ºC\n\n");										}									}																	}							}						}					}				}			}						return utskrift;		}			}			public String getÅrsMaxTempAlleSteder(int år)	{		Fylke tempF;		Sted tempS;		År tempÅ;		Mnd[] tempMnd;		String utskrift = "Høyeste registrerte maksimumstemperatur for " + år + ":\n\n";		double maxTemp = -999;		ArrayList<Sted> tempStedListe;				if (fylkeListe.isEmpty())		{			return "Ingen registrerte data";		}		else		{			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);										tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							if (tempStedListe.get(j) != null)							{								if (tempStedListe.get(j).getÅrObj(år) != null)								{									tempÅ = tempStedListe.get(j).getÅrObj(år);									if (tempÅ.getÅrMaxTemp() > maxTemp)									{										maxTemp = tempÅ.getÅrMaxTemp();									}								}															}						}					}				}			}						for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);					tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							tempS = tempStedListe.get(j);							if (tempS != null)							{								tempÅ = tempS.getÅrObj(år);								if (tempÅ != null && tempÅ.getÅrMaxTemp() == maxTemp)								{									tempMnd = tempÅ.getMndMaxTemp();																		for (int k = 0; k < tempMnd.length; k++)									{										Dag[] tempDag = tempMnd[k].getMaxTempObj();										for (int l = 0; l < tempDag.length; l++)										{										utskrift += ("Fylke: \t" + tempF.getNavn() + "\nSted: \t" + tempS.getNavn() + "\nDato: \t" + tempDag[l].getDag()+ "." + tempMnd[k].getMnd() + "."  + tempÅ.getÅr() + "\nTemperatur: \t" + maxTemp + " ºC\n\n");										}									}																	}							}						}					}				}			}						return utskrift;		}			}		public String getÅrsMinMmAlleSteder(int år)	{		Fylke tempF;		Sted tempS;		År tempÅ;		String utskrift = "Laveste totale nedbørsmengde for " + år + ":\n\n";		double minMm = 999;		ArrayList<Sted> tempStedListe;				if (fylkeListe.isEmpty())		{			return "Ingen registrerte data";		}		else		{			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);										tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							if (tempStedListe.get(j) != null)							{								if (tempStedListe.get(j).getÅrObj(år) != null)								{									tempÅ = tempStedListe.get(j).getÅrObj(år);									if (tempÅ.getÅrTotalMm() < minMm)									{										minMm = tempÅ.getÅrTotalMm();									}								}															}						}					}				}			}						for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);					tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							tempS = tempStedListe.get(j);							if (tempS != null)							{								tempÅ = tempS.getÅrObj(år);								if (tempÅ != null && tempÅ.getÅrTotalMm() == minMm)								{									utskrift += "Fylke: \t" + tempF.getNavn() + "\nSted: \t" + tempS.getNavn() + "\nNedbør: \t" + tempÅ.getÅrTotalMm() + " mm\n\n";																	}							}						}					}				}			}						return utskrift;		}		}			public String getÅrsMaxMmAlleSteder(int år)	{		Fylke tempF;		Sted tempS;		År tempÅ;		String utskrift = "Høyeste totale nedbørsmengde for " + år + ":\n\n";		double maxMm = -999;		ArrayList<Sted> tempStedListe;				if (fylkeListe.isEmpty())		{			return "Ingen registrerte data";		}		else		{			for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);										tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							if (tempStedListe.get(j) != null)							{								if (tempStedListe.get(j).getÅrObj(år) != null)								{									tempÅ = tempStedListe.get(j).getÅrObj(år);									if (tempÅ.getÅrTotalMm() > maxMm)									{										maxMm = tempÅ.getÅrTotalMm();									}								}															}						}					}				}			}						for (int i = 0; i < fylkeListe.size(); i++)			{				if (fylkeListe.get(i) != null)				{					tempF = fylkeListe.get(i);					tempStedListe = tempF.getStedListe();										if (!tempStedListe.isEmpty())					{						for (int j = 0; j < tempStedListe.size(); j++)						{							tempS = tempStedListe.get(j);							if (tempS != null)							{								tempÅ = tempS.getÅrObj(år);								if (tempÅ != null && tempÅ.getÅrTotalMm() == maxMm)								{									utskrift += "Fylke: \t" + tempF.getNavn() + "\nSted: \t" + tempS.getNavn() + "\nNedbør: \t" + tempÅ.getÅrTotalMm() + " mm\n\n";																	}							}						}					}				}			}						return utskrift;		}		}		public String getÅrsMaxTemp(String fylke, String sted, int år)	{			String utskrift = "Høyeste registrerte maksimumstemperatur for " + sted + " (" + fylke + ") " + år + ":\n\n";		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		Mnd[] tempMnd = tempÅr.getMndMaxTemp(); 				for (int i = 0; i < tempMnd.length; i++)		{							Dag[] tempDag = tempMnd[i].getMaxTempObj();						for (int k = 0; k < tempDag.length; k++)			{				utskrift += "Dato: \t" + tempDag[k].getDag()+ "." + tempMnd[i].getMnd() + "." + tempÅr.getÅr() + "\nTemperatur:\t" + tempDag[k].getMax() + " ºC\n\n";			}					}		return utskrift;	}		public String getÅrsMinTemp(String fylke, String sted, int år)	{		String utskrift = "Laveste registrerte minimumstemperatur for " + sted + " (" + fylke + ") " + år + ":\n\n";		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		Mnd[] tempMnd = tempÅr.getMndMinTemp(); 				for (int i = 0; i < tempMnd.length; i++)		{								Dag[] tempDag = tempMnd[i].getMinTempObj();						for (int k = 0; k < tempDag.length; k++)			{				utskrift += "Dato: \t" + tempDag[k].getDag()+ "." + tempMnd[i].getMnd() + "." + tempÅr.getÅr() + "\nTemperatur: \t" + tempDag[k].getMin() + " ºC\n\n";			}		}		return utskrift;	}		public String getMaxMmÅr(String fylke, String sted, int år)	{		String utskrift = "Største registrerte nedbørsmengde for " + sted + " (" + fylke + ") "+ år + ":\n\n";		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		Mnd[] tempMnd = tempÅr.getMndMaxMm();		for (int i = 0; i < tempMnd.length; i++)		{			Dag[] tempDag = tempMnd[i].getMaxMmObj();			for (int k = 0; k < tempDag.length; k++)			{				utskrift += "Dato: \t" + tempDag[k].getDag()+ "." + tempMnd[i].getMnd() + "." + tempÅr.getÅr() + "\nNedbør: \t" + tempDag[k].getMm() + " mm\n\n";			}		}		return utskrift;	}			public String getTotMmMndGittStedÅrMnd(String fylke, String sted, int år, int mnd)	{		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		Mnd tempMnd = tempÅr.getMndObj(mnd);		return "Nedbør i " + sted + " (" + fylke + ") " + mnd + "." + år + ":\n\n" + "Total: \t" + tempMnd.getMndTotalMm() + " mm\n";	}		public String getTotalMmÅrGittStedÅr(String fylke, String sted, int år)	{		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		return "Nedbør i " + sted + " (" + fylke + ") " + år + ":\n\n" + "Total: \t" + tempÅr.getÅrTotalMm() + " mm\n";	}	public String getSnittMinTempÅrGittStedÅr(String fylke, String sted, int år)	{		df = new DecimalFormat("#0.00");		return "Gjennomsnitts minimumstemperatur for " + sted + " (" + fylke + ") " + år + ":\n\n" + "Temperatur: \t" + df.format(getSted(sted).getÅrObj(år).getÅrMinTempSnitt()) + " ºC";	}		public String getSnittMaxTempÅrGittStedÅr(String fylke, String sted, int år)	{		//double temp = getSted(sted).getÅrObj(år).getÅrMaxTempSnitt();		return "Gjennomsnitts maksimumstemperatur for " + sted + " (" + fylke + ") " + år + ":\n\n" + "Temperatur: \t" + getSted(sted).getÅrObj(år).getÅrMaxTempSnitt() + " ºC";	}	public String getDag(String fylke, String sted, int år, int mnd, int dag)	{		return "Registrerte data for " + sted + " (" + fylke + ") " + getSted(sted).getÅrObj(år).getMndObj(mnd).getDagObj(dag).getDag() 		+ "." + getSted(sted).getÅrObj(år).getMndObj(mnd).getMnd() + "." + getSted(sted).getÅrObj(år).getÅr() 		+ ":\n\nMinimumstemperatur: \t" + getSted(sted).getÅrObj(år).getMndObj(mnd).getDagObj(dag).getMin() + " ºC"		+ "\nMaksimumstemperatur: \t" + getSted(sted).getÅrObj(år).getMndObj(mnd).getDagObj(dag).getMax() + " ºC"		+ "\nNedbør: \t\t" + getSted(sted).getÅrObj(år).getMndObj(mnd).getDagObj(dag).getMm() + " mm";	}	public String getMinMndTempGittStedÅrMnd(String fylke, String sted, int år, int mnd)	{		String utskrift = "Laveste registrerte minimumstemperatur for " + sted + " (" + fylke + ") " + mnd + "." + år + ":\n\n";		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		Mnd tempMnd = tempÅr.getMndObj(mnd);		Dag[] tempDag = tempMnd.getMinTempObj(); 		for (int i = 0; i < tempDag.length; i++)		{		utskrift += ("Dato: \t" +  tempDag[i].getDag()  + "." + tempMnd.getMnd() + "." + tempÅr.getÅr() + "\nTemperatur: \t" + tempMnd.getMndMinTemp() + " ºC\n\n");		}		return utskrift;	}		public String getMaxMndTempGittStedÅrMnd(String fylke, String sted, int år, int mnd)	{		String utskrift = "Høyeste registrerte maksimumstemperatur for " + sted + " (" + fylke + ") "  + mnd + "." + år + ":\n\n";		Sted tempSted = getSted(sted);		År tempÅr = tempSted.getÅrObj(år);		Mnd tempMnd = tempÅr.getMndObj(mnd);		Dag[] tempDag = tempMnd.getMaxTempObj();		for (int i = 0; i < tempDag.length; i++)		{			utskrift += ("Dato: \t" +  tempDag[i].getDag()  + "." + tempMnd.getMnd() + "." + tempÅr.getÅr() + "\nTemperatur: \t" + tempMnd.getMndMaxTemp() + " ºC\n\n");		}		return utskrift;	}	public ArrayList getFylkeListe()	{		return fylkeListe;	}	}