Advertisement
Guest User

Untitled

a guest
Dec 10th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.15 KB | None | 0 0
  1.  
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.Iterator;
  7. import java.text.DecimalFormat;
  8.  
  9. class HenkilolistaSovellus {
  10.    
  11.     private List <Henkilo> henkiloLista = new ArrayList<Henkilo>();
  12.     static Scanner input = new Scanner(System.in);
  13.    
  14.     public static void main(String[]args) {
  15.         HenkilolistaSovellus sovellus = new HenkilolistaSovellus();
  16.        
  17.         int valinta = -1;
  18.        
  19.         do {
  20.             System.out.print("\n1. Lisää henkilö\r\n" +
  21.                                 "2. Näytä henkilön tiedot\r\n" +
  22.                                 "3. Muuta henkilön nimi ja osoite\r\n" +
  23.                                 "4. Muuta henkilön koko\r\n" +
  24.                                 "5. Näytä kaikki henkilöt\r\n" +
  25.                                 "0. Lopetus\r\n");
  26.             System.out.print("Anna valintasi (0-5): ");
  27.             valinta = input.nextInt();
  28.             input.nextLine();
  29.  
  30.             switch (valinta) {
  31.             case 1:
  32.                     sovellus.lisaaHenkilo();
  33.                     break;
  34.             case 2:
  35.                     sovellus.naytaHenkilo();
  36.                     break;
  37.             case 3:
  38.                     sovellus.muutaHenkilo();
  39.                     break;
  40.             case 4:
  41.                     sovellus.muutaKoko();
  42.                     break;
  43.             case 5:
  44.                     sovellus.naytaHenkilot();
  45.                     break;
  46.             case 0:
  47.                     break;
  48.             default:
  49.                 System.out.println("Virheellinen valinta");
  50.             }
  51.         } while (valinta != 0);
  52.     }// main loppuu
  53.        
  54.         public void lisaaHenkilo() {
  55.             Henkilo henkilo;
  56.            
  57.             System.out.print("Anna nimi: ");
  58.             String nimi = input.nextLine();
  59.            
  60.             System.out.print("Anna osoite: ");
  61.             String osoite = input.nextLine();
  62.            
  63.             System.out.print("Anna pituus: ");
  64.             double pituus = input.nextDouble();
  65.             input.nextLine();
  66.        
  67.             System.out.print("Anna paino: ");
  68.             int paino = input.nextInt();
  69.            
  70.             henkilo = new Henkilo(nimi, osoite, pituus, paino);
  71.             henkiloLista.add(henkilo);
  72.         } // lisaaHenkilo loppuu
  73.        
  74.         public void naytaHenkilo(){
  75.             Henkilo henkilo;
  76.             System.out.print("Anna näytettävän henkilön nimi: ");
  77.             String nimi = input.nextLine();
  78.        
  79.                 Iterator <Henkilo> it = henkiloLista.iterator();
  80.                 while (it.hasNext()) {
  81.                 henkilo = it.next();
  82.                
  83.                     if(henkilo.getNimi().equals(nimi)) {
  84.                         System.out.println(henkilo);
  85.                         break;
  86.                     } else {
  87.                         System.out.print("Henkilöä ei ole");
  88.                     }
  89.                 }
  90.            
  91.         } // naytaHenkilo loppuu
  92.        
  93.             public void muutaHenkilo(){
  94.                 Henkilo henkilo;
  95.                 System.out.print("Anna perustietoja muutettavan henkilön nimi: ");
  96.                 String nimi = input.nextLine();
  97.            
  98.                     Iterator <Henkilo> it = henkiloLista.iterator();
  99.                     while (it.hasNext()) {
  100.                     henkilo = it.next();
  101.                    
  102.                         if(henkilo.getNimi().equals(nimi)) {
  103.                             System.out.print("Anna nimi: ");
  104.                             nimi = input.nextLine();
  105.                             henkilo.setNimi(nimi);
  106.                            
  107.                             System.out.print("Anna osoite: ");
  108.                             String osoite = input.nextLine();
  109.                             henkilo.setOsoite(osoite);
  110.                            
  111.                             break;
  112.                         } else {
  113.                             System.out.print("Henkilöä ei ole");
  114.                         }
  115.                     }
  116.             } // muutaHenkilo loppuu
  117.    
  118.             public void muutaKoko() {
  119.            
  120.                 Henkilo henkilo;
  121.             System.out.print("Anna kokoa muutettavan henkilön nimi: ");
  122.             String muutettava = input.nextLine();
  123.            
  124.                 Iterator <Henkilo> it = henkiloLista.iterator();
  125.                 while (it.hasNext()) {
  126.                 henkilo = it.next();
  127.                
  128.                     if(henkilo.getNimi().equals(muutettava)) {
  129.                         System.out.print("Anna pituus: ");
  130.                         double pituus= input.nextDouble();
  131.                         henkilo.setPituus(pituus);
  132.                        
  133.                         System.out.print("Anna paino: ");
  134.                         int paino = input.nextInt();
  135.                         henkilo.setPaino(paino);
  136.                         henkilo.getBmi(pituus, paino);
  137.                         break;
  138.                     } else {
  139.                         System.out.print("Henkilöä ei ole");
  140.                     }
  141.                 }
  142.            
  143.             } // muutaKoko loppuu
  144.        
  145.             public void naytaHenkilot() {
  146.            
  147.             for (int i = 0; i < henkiloLista.size(); i++) {
  148.                 Henkilo henkilo = henkiloLista.get(i);
  149.                 System.out.println(henkilo);
  150.             }
  151.         } // naytaHenkilot loppuu
  152.        
  153. }
  154.  
  155.  
  156.  
  157. class Henkilo{
  158.     DecimalFormat df = new DecimalFormat ("0.00");
  159.     private String nimi;
  160.     private String osoite;
  161.     private double pituus;
  162.     private int paino;
  163.     private double bmi;
  164.  
  165.    
  166.     //parametriton konstruktori
  167.     public Henkilo() {
  168.         nimi = "";
  169.         osoite ="";
  170.         pituus = 0.0;
  171.         paino = 0;
  172.         bmi = 0;
  173.     }
  174.    
  175.    
  176.     public Henkilo(String nimi, String osoite, double pituus, int paino) {
  177.         this.nimi = nimi;
  178.         this.osoite = osoite;
  179.         this.pituus = pituus;
  180.         this.paino = paino;
  181.         this.bmi = getBmi(pituus, paino);
  182.     }
  183.    
  184.     public Double getPituus() {
  185.         return pituus;
  186.     }
  187.  
  188.  
  189.     public void setPituus(double pituus) {
  190.         this.pituus = pituus;
  191.     }
  192.  
  193.  
  194.     public int getPaino() {
  195.         return paino;
  196.     }
  197.  
  198.     public double getBmi(double pituus, int paino) {
  199.         bmi = paino / (pituus*pituus);
  200.         return bmi;
  201.        
  202.     }
  203.  
  204.     public void setBmi(double bmi) {
  205.         this.bmi = bmi;
  206.     }
  207.  
  208.     public void setPaino(int paino) {
  209.         this.paino = paino;
  210.     }
  211.  
  212.     public String getNimi() {
  213.         return nimi;
  214.     }
  215.     public void setNimi(String nimi) {
  216.         this.nimi = nimi;
  217.     }
  218.     public String getOsoite() {
  219.         return osoite;
  220.     }
  221.     public void setOsoite(String osoite) {
  222.         this.osoite = osoite;
  223.     }
  224.    
  225.    
  226.     @Override
  227.     public String toString() {
  228.         return "Nimi: " + nimi + "\n" + "Osoite: " + osoite + "\n" + "pituus: " + df.format(pituus) +
  229.                 "\n" + "painoindeksi: " + df.format(bmi);
  230.     }
  231.    
  232.    
  233. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement