Commit 1e3d184a by Patryk Czarnik

Geometria - wersja startowa

parent 4c98f464
package p09_funkcje;
// Ta klasa zawiera wyłącznie metody statyczne.
// Na takie klasy mówi się często "klasa narzędziowa" / "utility class".
// Odpowiada to modułowi zawierającemu funkcje z innych języków (C, Python, PHP itp).
// Po prostu w Javie funkcje definiuje się zawsze wewnątrz klasy.
public class Geometria {
static double poleKwadratu(double a) {
return a*a;
}
static double obwodKwadratu(double a) {
return 4*a;
}
static double poleProstokata(double a, double b) {
return a*b;
}
static double obwodProstokata(double a, double b) {
return 2*a + 2*b;
}
}
package p09_funkcje;
import java.util.Scanner;
public class GeometriaProgram {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.println(" K - kwadrat");
System.out.println(" O - koło");
System.out.println(" P - prostokąt");
System.out.println(" T - trójkąt");
System.out.println(" Q - zakończ");
petla:
while(true) {
System.out.println("\nWybierz figurę lub operację:");
String wybor = scanner.next().toUpperCase();
switch(wybor) {
case "Q" -> {
break petla;
}
case "K" -> {
System.out.print("Podaj długość boku kwadratu: ");
double a = scanner.nextDouble();
double pole = Geometria.poleKwadratu(a);
double obwod = Geometria.obwodKwadratu(a);
System.out.printf("Dla kwadratu o boku %.3f pole wynosi %.3f, a obwód %.3f\n", a, pole, obwod);
}
case "P" -> {
System.out.print("Podaj dwie długości boków prostokąta: ");
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double pole = Geometria.poleProstokata(a, b);
double obwod = Geometria.obwodProstokata(a, b);
System.out.printf("Dla prostokąta o bokach %.3f i %.3f pole wynosi %.3f, a obwód %.3f\n", a, b, pole, obwod);
}
default -> {
System.out.println("Nieznane polecenie " + wybor);
}
}
}
System.out.println("Dzięki, miłego dnia!");
}
}
\ No newline at end of file
package p09_funkcje;
public class GeometriaTesty {
// W tej klasie, w main, są testowe wywołania metod zdefiniowanych w klasie Geometria.
// Jeśli klasa znajduje się w tym samym pakiecie, to nie trzeba jej importować; po prostu używamy.
// Metodę statyczną wywołuje się pisząc Klasa.metoda
public static void main(String[] args) {
System.out.println(Geometria.poleKwadratu(5));
System.out.println(Geometria.obwodKwadratu(5));
System.out.println(Geometria.poleProstokata(3, 4));
System.out.println(Geometria.obwodProstokata(3, 4));
}
}
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