java instrukcja if else

0

Jesli ktos moglby rzucic okiem na kod tego zadania, podaje ponizej, nie dziala tak jak powinien

dziecko ma goraczke. Program ma wykonac szereg zalecen.,

  • jeśli dziecko ma temp mniejsza od 38
    wyrzucic powiadomienie: Dziecku nic nie jest.
    jeśli nie
    • jeśli temp mniejsza 39
      wyrzucic: Przygotowc kapiel
      jeśli nie
      -jeśli wiek mniejszy od 3 lat
      wyrzucic: Isc do lekarza
      jeśli nie
    • jeśli wiek dziecka mniejszy 12 lat
      wyrzucic: dawkaParacetamol=15mg* waga dzieck w kg
      • jeśli wiek dziecka wieksz lub rowny 12
        dawkeParacetamol= 500mg
        Wyrzucic: Trzeba podac dawkaParacetamol co 8 godz
  • jeśli temperatura wieksz rowna 40
    Wyrzucic; Zaprowadzic do szpitala
import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author seeb
 */
public class Temperatura {
    
    
        public static void main(String[] args) {
        
        
        
        Scanner sc = new Scanner(System.in);
        System.out.println("Jaka ma temperature dziecko?"); 
        float temp = sc.nextFloat();
        
        System.out.println("Ile ma lat");
        int wiek = sc.nextInt();
        
        System.out.println("Ile wazy");
        int waga = sc.nextInt();
        int dawkaParac = 15 * waga;        
                
        if (temp<38)  {
            System.out.println("Dziecku nic nie jest");
        
        }else if (temp<39) {
            System.out.println("Dac mu kapiel");
            
        }else if ((temp<39)&&(wiek<3)) {
            System.out.println("Zglosic sie z dzieckiem do lekarza");
            
        }else if ((temp<39)&&(wiek<12)) {
            System.out.println("Podac dawke +dawkaParac+mg paracetamolu");
            
        }else if ((temp<39)&&(wiek>=12)) {
            System.out.println("Dawka paracetamolu 500mg");
           System.out.println("Trzeba podawac paracetamol 500mg co 8godz.");
            
        }else if (temp>=40);
             System.out.println("Zaprowadzic go do szpitala");
        
            
            
      }
     }
0

Każde jeśli nie możesz potraktować jako else, ewentualnie później to przerobić, żeby dobrze wyglądało.
Teraz np najpierw sprawdzasz czy temp < 39 a potem masz warunek czy temp < 39 && temp > 39. Zauważ, że gdy jest on spełniony to jednocześnie pierwszy też jest spełniony więc ten drugi nie jest osiągalny.

0

Nie programuje w Javie na codzień - ale polecam wykonać takie kroki na samym początku

Napisz funkcję "isTemperatureOk(temperature)"
niech zwraca true lub false jesli temperatura zostanie przekroczona (nie hardcoduj tam temperatury w tej metodzie tylko wyciagnij do stalej)

napisz funkcje "isTemperatureDangerous(temperature)"
niech zwraca false lub true jesli temperatura zostanie przekroczona (nie hardcoduj tam temperatury w tej metodzie tylko wyciagnij do stalej)

napisz funkcje getParacetamolByUserAge(age, weight) ktora zwraca odpowiednia dawke paracetamolu wedlug wagi i wieku

Wykorzystaj logicznie napisane pow. funkcje i ciesz się "czystszym*" kodem (mozna bylo to na atomy rozbijac, ale w takim przypadku wydaje mi sie ze nie warto... klasy, interfejsy...)

0

Witaj!
Czyli warianty tak ??

  1. Temperatura < 38
    Odp. Dziecku nic nie jest.
  2. Temperatura < 39
    Odp. Przygotowc kapiel
  3. Temperatura < 39 i wiek < 3
    Odp. Iśc do lekarza
  4. Temperatura < 39 i wiek < 12 i wiek >=3
    Odp. dawkaParacetamol=15mg* waga dzieck w kg
    5.Temperatura < 39 i wiek >= 12
    Odp. dawkeParacetamol= 500mg, Trzeba podac dawkaParacetamol co 8 godz
  5. Temperatura >=40
    Odp.Zaprowadzic do szpitala

Pytako co jeśli temperatura bedzie 39 ??
I Kiedy ma być wyświetlany 2 wariant. Jeżeli będzie tak jak jest to nigdy nie będzie sprawdzał wieku a jak wariant 2 damy na koniec to nigdy nie zostanie wyświetlony.

0

Dzieki za sugestie i podpowidzi, powoli mi sie to rozjasnia

1 użytkowników online, w tym zalogowanych: 0, gości: 1