• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obliczenie bmi java

Object Storage Arubacloud
0 głosów
1,221 wizyt
pytanie zadane 26 marca 2021 w Java przez Paluch22 Nowicjusz (230 p.)

Cześć, dopiero zaczynam progrmowanie z java i mam problem. Chciałem stworzyć program liczący bmi. W ogóle nie w Public void podziel, nie dzieli mi z reszta. Program wyświetla

Wzrost=180
Waga=89
89.0
Wychudzenie

Wklejam niżej kod z góry dziękuje za pomoc


import java.util.Scanner;

public class Kaukulator {
	float wzrost;
	float waga;
	
	

public Kaukulator(){
	wzrost=0;
	waga=0;
}

public Kaukulator(float wzrost, float waga) {
	this.wzrost = wzrost;
	this.waga = waga;

}
public void podaj_dane() {
	System.out.println("Wzrost=");
	Scanner in = new Scanner(System.in);
	wzrost= in.nextInt();
	System.out.println("Waga=");
	waga= in.nextInt();
}

public void podziel() {
	float cel;
	cel = waga % wzrost;
	System.out.println(cel);
	if(cel<16) {
		System.out.println("Wyglodzenie");
	}
	else if(cel>16 || cel<= 17)
	{
		System.out.println("Wychudzenie");
	}
	else if(cel>17 || cel<= 19)
	{ 
		System.out.println("Niedowaga");
	}
	else if(cel>19 || cel<= 25)
	{ 
		System.out.println("Wartosc Prawidlowa");
	}
	else if(cel>25 || cel<= 30)
	{ 
		System.out.println("Nadwaga");
	}
	else if(cel>30 || cel<= 35)
	{ 
		System.out.println("I stopien otylosci");
	}
	else if(cel>35 || cel<= 40)
	{ 
		System.out.println("II stopien otylosci");
	}
	else if (cel>40)
	{ 
		System.out.println("Otylosc skrajna");
	}
	
}


}


public class WynikKaukulator {

	public static void main(String[] args) {
		Kaukulator kaukulator = new Kaukulator();
		kaukulator.podaj_dane();
		kaukulator.podziel();
	}
	

}

 

2 odpowiedzi

0 głosów
odpowiedź 26 marca 2021 przez Wiciorny Ekspert (270,190 p.)
wybrane 26 marca 2021 przez Paluch22
 
Najlepsza
cel = waga % wzrost;

to nie jest dzielenie, tylko to jest operacja modulo- czyli reszta z dzielenia, zwraca Ci wartość która jest resztą z tego dzielenia stąd cel = 89 % 189 -> reszta z dzielenia to 89... 

Jeśli używasz cm- jako wzrost, a nie metrów - to obliczanie bmi jest takie 
 

double cel = (100*100*waga)/(wzrost*wzrost);

lepiej trzymać to jako double. 

Wzrost= 180
Waga= 89
27.469135284423828
Wychudzenie

Dodatkowo masz operator || alternatywy stąd wypiszę błędne informacje np 
 

 else if(cel>16 || cel<= 17)
        {
            System.out.println("Wychudzenie");
        }

 tutaj w warunku masz że jesli CEL JEST większy niż 16 lub mniejszy badź równy ... to wychudzenie,  zauważ żę ta alternatywa jest zawsze prawdziwa :) dla celu > 16 ... bo wystarczy że jeden warunek bedzie prawdziwy żeby if się wykonał, zamień ten warunek na "i" skoro oba mają zajść jednocześnie powinno być 
 

else if(cel>16  && cel<= 17) // tylko gdy dwa warunki spełnione

analogicznie przeanalizuj reszte 

+1 głos
odpowiedź 26 marca 2021 przez Paluch22 Nowicjusz (230 p.)
Dzięki wielkie teraz działa

Podobne pytania

+1 głos
1 odpowiedź 556 wizyt
pytanie zadane 28 grudnia 2020 w C# przez Tukan Nowicjusz (190 p.)
+1 głos
2 odpowiedzi 2,368 wizyt
pytanie zadane 25 września 2021 w JavaScript przez void6 Użytkownik (790 p.)
0 głosów
2 odpowiedzi 389 wizyt
pytanie zadane 29 października 2018 w C i C++ przez Shimeo7 Obywatel (1,910 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...