Commit c7b868ae by Patryk Czarnik

Bagaz

parent 06aa1c14
package p04_instrukcje;
import java.util.Scanner;
/* Program czyta od użytkownika 3 liczby: wymiary walizki w cm
* i sprawdza czy walizka mieści się w limitach wymiaru.
* Warunki:
* - żaden wymiar nie może przekraczać 50 cm
* - objętość nie może przekraczać 50 tys cm³
*/
public class Bagaz_v1 {
/* W tej wersji:
* - wszystkie warunki sprawdza są w jednym if, program nie informuje konkretnie dlaczego odrzucił
* - sprawdzamy warunek "pozytywny", czyli piszemy kiedy jest dobrze; spójnikiem jest &&
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj 3 liczby - wymiary bagażu: ");
int x = scanner.nextInt();
int y = scanner.nextInt();
int z = scanner.nextInt();
if(x <= 50 && y <= 50 && z <= 50 && x*y*z <= 50000) {
System.out.println("Bagaż zaakceptowany");
} else {
System.out.println("Bagaż odrzucony");
}
}
}
package p04_instrukcje;
import java.util.Scanner;
public class Bagaz_v2 {
/* W tej wersji:
* - wszystkie warunki sprawdza są w jednym if, program nie informuje konkretnie dlaczego odrzucił
* - sprawdzamy warunek "negatywny", czyli piszemy kiedy jest źle; spójnikiem jest ||
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj 3 liczby - wymiary bagażu: ");
int x = scanner.nextInt();
int y = scanner.nextInt();
int z = scanner.nextInt();
int obj = x*y*z;
if(x > 50 || y > 50 || z > 50 || obj > 50000) {
System.out.println("Bagaż odrzucony");
} else {
System.out.println("Bagaż zaakceptowany");
}
}
}
package p04_instrukcje;
import java.util.Scanner;
public class Bagaz_v3 {
/* W tej wersji:
* - rozbijamy warunki do oddzielnych if-ów, aby program napisał dlaczego bagaż został odrzucony
* - ważne jednak, aby program ostatecznie potwierdził akceptację bagażu, lub napisał jednoznacznie, że odrzuca
* - program wypisuje tylko pierwszą przyczynę odrzucenia
* - sprawdzanie warunków pozytywnych prowadzi tutaj do powstania kodu wielokrotnie zagnieżdżonego
* (if w ifie i kolejnym ifie...)
* "else jest daleko od swojego if-a"
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj 3 liczby - wymiary bagażu: ");
int x = scanner.nextInt();
int y = scanner.nextInt();
int z = scanner.nextInt();
int obj = x*y*z;
if(x <= 50) {
if (y <= 50) {
if (z <= 50) {
if (obj <= 50000) {
System.out.println("Bagaż zaakceptowany");
System.out.println("Otwieram bramki");
// zazwyczaj, gdy wszystko jest OK, to jest większa robota do wykonania
} else {
System.out.println("objętość zbyt duża");
}
} else {
System.out.println("z zbyt duży");
}
} else {
System.out.println("y zbyt duży");
}
} else {
System.out.println("x zbyt duży");
}
}
}
package p04_instrukcje;
import java.util.Scanner;
public class Bagaz_v4 {
/* W tej wersji:
* - rozbijamy warunki do oddzielnych if-ów, aby program napisał dlaczego bagaż został odrzucony
* - program wypisuje tylko pierwszą przyczynę odrzucenia
* - dzięki sprawdzaniu warunków negatywnych, możemy zastosować schemat else-if
* i napisać to na zasadzie: sprawdź czy jest źle z 1. pwoodu, czy z 2. powodu itd.
* a jeśli nie było żadnego problemu, to na samym końcu jest wykonana operacja w przypadku braku błędów
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj 3 liczby - wymiary bagażu: ");
int x = scanner.nextInt();
int y = scanner.nextInt();
int z = scanner.nextInt();
int obj = x*y*z;
if(x > 50) {
System.out.println("x zbyt duży");
} else if (y > 50) {
System.out.println("y zbyt duży");
} else if (z > 50) {
System.out.println("z zbyt duży");
} else if (obj > 50000) {
System.out.println("objętość za duża");
} else {
System.out.println("Bagaż zaakceptowany");
System.out.println("Otwieram bramki");
}
}
}
package p04_instrukcje;
import java.util.Scanner;
public class Bagaz_v5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj 3 liczby - wymiary bagażu: ");
int x = scanner.nextInt();
int y = scanner.nextInt();
int z = scanner.nextInt();
int obj = x*y*z;
boolean ok = true;
if(x > 50) {
System.out.println("x zbyt duży");
ok = false;
}
if(y > 50) {
System.out.println("y zbyt duży");
ok = false;
}
if(z > 50) {
System.out.println("z zbyt duży");
ok = false;
}
if(obj > 50000) {
System.out.println("objętość za duża");
ok = false;
}
if(ok) {
System.out.println("Bagaż zaakceptowany");
System.out.println("Otwieram bramki");
} else {
System.out.println("Wystąpiły problemy");
}
}
}
package p04_instrukcje;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Bagaz_v6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Podaj 3 liczby - wymiary bagażu: ");
int x = scanner.nextInt();
int y = scanner.nextInt();
int z = scanner.nextInt();
int obj = x*y*z;
// informacje o błędach zostaną zebrane do listy
List<String> listaBledow = new ArrayList<>();
if(x > 50) {
listaBledow.add("x zbyt duży");
}
if(y > 50) {
listaBledow.add("y zbyt duży");
}
if(z > 50) {
listaBledow.add("z zbyt duży");
}
if(obj > 50000) {
listaBledow.add("objętość za duża");
}
if(listaBledow.isEmpty()) {
System.out.println("Bagaż zaakceptowany");
System.out.println("Otwieram bramki");
} else {
System.out.println("Wystąpiły problemy w liczbie " + listaBledow.size());
for(String blad : listaBledow) {
System.out.println(" * " + blad);
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment