Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- import java.util.Iterator;
- import java.text.DecimalFormat;
- class HenkilolistaSovellus {
- private List <Henkilo> henkiloLista = new ArrayList<Henkilo>();
- static Scanner input = new Scanner(System.in);
- public static void main(String[]args) {
- HenkilolistaSovellus sovellus = new HenkilolistaSovellus();
- int valinta = -1;
- do {
- System.out.print("\n1. Lisää henkilö\r\n" +
- "2. Näytä henkilön tiedot\r\n" +
- "3. Muuta henkilön nimi ja osoite\r\n" +
- "4. Muuta henkilön koko\r\n" +
- "5. Näytä kaikki henkilöt\r\n" +
- "0. Lopetus\r\n");
- System.out.print("Anna valintasi (0-5): ");
- valinta = input.nextInt();
- input.nextLine();
- switch (valinta) {
- case 1:
- sovellus.lisaaHenkilo();
- break;
- case 2:
- sovellus.naytaHenkilo();
- break;
- case 3:
- sovellus.muutaHenkilo();
- break;
- case 4:
- sovellus.muutaKoko();
- break;
- case 5:
- sovellus.naytaHenkilot();
- break;
- case 0:
- break;
- default:
- System.out.println("Virheellinen valinta");
- }
- } while (valinta != 0);
- }// main loppuu
- public void lisaaHenkilo() {
- Henkilo henkilo;
- System.out.print("Anna nimi: ");
- String nimi = input.nextLine();
- System.out.print("Anna osoite: ");
- String osoite = input.nextLine();
- System.out.print("Anna pituus: ");
- double pituus = input.nextDouble();
- input.nextLine();
- System.out.print("Anna paino: ");
- int paino = input.nextInt();
- henkilo = new Henkilo(nimi, osoite, pituus, paino);
- henkiloLista.add(henkilo);
- } // lisaaHenkilo loppuu
- public void naytaHenkilo(){
- Henkilo henkilo;
- System.out.print("Anna näytettävän henkilön nimi: ");
- String nimi = input.nextLine();
- Iterator <Henkilo> it = henkiloLista.iterator();
- while (it.hasNext()) {
- henkilo = it.next();
- if(henkilo.getNimi().equals(nimi)) {
- System.out.println(henkilo);
- break;
- } else {
- System.out.print("Henkilöä ei ole");
- }
- }
- } // naytaHenkilo loppuu
- public void muutaHenkilo(){
- Henkilo henkilo;
- System.out.print("Anna perustietoja muutettavan henkilön nimi: ");
- String nimi = input.nextLine();
- Iterator <Henkilo> it = henkiloLista.iterator();
- while (it.hasNext()) {
- henkilo = it.next();
- if(henkilo.getNimi().equals(nimi)) {
- System.out.print("Anna nimi: ");
- nimi = input.nextLine();
- henkilo.setNimi(nimi);
- System.out.print("Anna osoite: ");
- String osoite = input.nextLine();
- henkilo.setOsoite(osoite);
- break;
- } else {
- System.out.print("Henkilöä ei ole");
- }
- }
- } // muutaHenkilo loppuu
- public void muutaKoko() {
- Henkilo henkilo;
- System.out.print("Anna kokoa muutettavan henkilön nimi: ");
- String muutettava = input.nextLine();
- Iterator <Henkilo> it = henkiloLista.iterator();
- while (it.hasNext()) {
- henkilo = it.next();
- if(henkilo.getNimi().equals(muutettava)) {
- System.out.print("Anna pituus: ");
- double pituus= input.nextDouble();
- henkilo.setPituus(pituus);
- System.out.print("Anna paino: ");
- int paino = input.nextInt();
- henkilo.setPaino(paino);
- henkilo.getBmi(pituus, paino);
- break;
- } else {
- System.out.print("Henkilöä ei ole");
- }
- }
- } // muutaKoko loppuu
- public void naytaHenkilot() {
- for (int i = 0; i < henkiloLista.size(); i++) {
- Henkilo henkilo = henkiloLista.get(i);
- System.out.println(henkilo);
- }
- } // naytaHenkilot loppuu
- }
- class Henkilo{
- DecimalFormat df = new DecimalFormat ("0.00");
- private String nimi;
- private String osoite;
- private double pituus;
- private int paino;
- private double bmi;
- //parametriton konstruktori
- public Henkilo() {
- nimi = "";
- osoite ="";
- pituus = 0.0;
- paino = 0;
- bmi = 0;
- }
- public Henkilo(String nimi, String osoite, double pituus, int paino) {
- this.nimi = nimi;
- this.osoite = osoite;
- this.pituus = pituus;
- this.paino = paino;
- this.bmi = getBmi(pituus, paino);
- }
- public Double getPituus() {
- return pituus;
- }
- public void setPituus(double pituus) {
- this.pituus = pituus;
- }
- public int getPaino() {
- return paino;
- }
- public double getBmi(double pituus, int paino) {
- bmi = paino / (pituus*pituus);
- return bmi;
- }
- public void setBmi(double bmi) {
- this.bmi = bmi;
- }
- public void setPaino(int paino) {
- this.paino = paino;
- }
- public String getNimi() {
- return nimi;
- }
- public void setNimi(String nimi) {
- this.nimi = nimi;
- }
- public String getOsoite() {
- return osoite;
- }
- public void setOsoite(String osoite) {
- this.osoite = osoite;
- }
- @Override
- public String toString() {
- return "Nimi: " + nimi + "\n" + "Osoite: " + osoite + "\n" + "pituus: " + df.format(pituus) +
- "\n" + "painoindeksi: " + df.format(bmi);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement