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

Obliczenie bmi java

VPS Starter Arubacloud
0 głosów
1,184 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 (269,120 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ź 539 wizyt
pytanie zadane 28 grudnia 2020 w C# przez Tukan Nowicjusz (190 p.)
+1 głos
2 odpowiedzi 2,299 wizyt
pytanie zadane 25 września 2021 w JavaScript przez void6 Użytkownik (790 p.)
0 głosów
2 odpowiedzi 375 wizyt
pytanie zadane 29 października 2018 w C i C++ przez Shimeo7 Obywatel (1,910 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...