Advertisement
Guest User

Day3FlowEx

a guest
Sep 21st, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.47 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class ConditionEx3 {
  6.  
  7.     public static final int LIMIT = 85528;
  8.     public static final double PIT_OF_LIMIT = LIMIT * 0.18;
  9.  
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         //zad3
  14.         //napisz program który przyjmuje liczbe i wyswietla odpowiadający jej dzień tygodnia
  15.  
  16.         System.out.println("Podaj liczbe a podam dzień tygodnia");
  17.         System.out.print("Liczba: ");
  18.         int dayNumber;
  19.         dayNumber = scanner.nextInt();
  20.  
  21.         if (dayNumber == 1) {
  22.             System.out.println("Poniedziałek");
  23.         } else if (dayNumber ==2) {
  24.             System.out.println("Wtorek");
  25.         } else if (dayNumber ==3){
  26.             System.out.println("Sroda");
  27.         } else if (dayNumber ==4) {
  28.             System.out.println("Czwartek");
  29.         } else if (dayNumber ==5) {
  30.             System.out.println("Piątek");
  31.         } else if (dayNumber ==6) {
  32.             System.out.println("Sobota");
  33.         } else if (dayNumber ==7) {
  34.             System.out.println("Niedziela");
  35.         } else {
  36.             System.out.println("a chcesz w pysk?");
  37.         }
  38.  
  39.         // napisz program, który przyjmuje 2 liczby zmiennoprzecinkowe, porównuje je do 2 miejsca po przecinku
  40.         // i wyświetla informację czy są równe
  41.  
  42.         // pomnożyć przez 100, zaokrąglić, podzielić przez 100
  43.  
  44.         System.out.println("Podaj 2 liczby zmiennoprzecinkowe, porównam czy są takie same do 2 miejsca po przecinku");
  45.         System.out.print("Podaj 1 liczbę: ");
  46.         double number1 = scanner.nextDouble();
  47.         System.out.print("Podaj 2 liczbę: ");
  48.         double number2 = scanner.nextDouble();
  49.  
  50.         number1 = (Math.round(number1 * 100.0)) / 100.0;
  51.         number2 = (Math.round(number2 * 100.0)) / 100.0;
  52.  
  53. //        to samo co:
  54. //        number1 *=100;
  55. //        number1 = Math.round(number1);
  56. //        number1 /=100;
  57.  
  58.         System.out.println("Liczba 1: " + number1);
  59.         System.out.println("Liczba 2: " + number2);
  60.         System.out.println(number1 == number2 ? "liczby sa równe" : "liczby nie sa równe");
  61.  
  62.         //program przyjmuje dwie liczby reprezentujace rok i miesiac a wyswietla nazwe miesiaca i ile ma dni
  63.         System.out.println("Program podaje ile dni ma miesiąc, uwzględniając rok przestępny. Podaj rok i miesiac");
  64.         System.out.println("Podaj rok");
  65.         int year = scanner.nextInt();
  66.         System.out.println("Podaj numer miesiaca");
  67.         int monthNr = scanner.nextInt();
  68.         scanner.nextLine(); // bez tego wyrzuci błąd poniżej
  69.  
  70.         boolean isLeapYear = false;
  71.  
  72.         // rok jest przestępny jeśli jest podzielny przez 4
  73.         // i jednocześnie niepodzielny przez 100 lub podzielny przez 400
  74.         // aby sprawdzić czy rok jeste podzielny przez daną liczbę: reszta z dzielenia modulo wynosi 0.
  75.  
  76.         if ((year % 4==0) && (year % 100 != 0) ||  (year % 400 ==0)) {
  77.             isLeapYear = true;
  78.         }
  79.  
  80.         int numberOfDays;
  81.         if (monthNr == 1 || monthNr == 3 || monthNr == 5 || monthNr == 7 ||
  82.                 monthNr == 8 || monthNr == 10 || monthNr ==12) {
  83.             numberOfDays = 31;
  84.         } else if (monthNr == 2 && !isLeapYear) { //jeśli miesiąc to luty (2) i rok nie jest przestępny (negacja !)
  85.             numberOfDays = 28;
  86.         } else if (monthNr == 2 && isLeapYear) {  //jeśli miesiąc to luty (2) i rok jest przestępny
  87.             numberOfDays = 29;
  88.         } else {
  89.             numberOfDays = 30;
  90.         }
  91.  
  92.         System.out.println("Miesiac " + monthNr + " ma " + numberOfDays + " dni.");
  93.  
  94.  
  95.         // program przyjmuje literę od użytkownika i wyswietla info czy to spółgłoska (zwróc uwage na wielkośc liter)
  96.  
  97.         System.out.println("Podaj literę a powiem czy to spółgłoska");
  98.         String sign = scanner.nextLine().toLowerCase();
  99.  
  100.         // werja bardziej zaawansowana - regexy - wyrażenia regularne.
  101.         String consonantRegex = "[bcdfghjklmnprstwxz]";
  102.         String vowelRegex = "[aeiouy]";
  103.         if (sign.matches(consonantRegex)) {
  104.             System.out.println("Podana litera jest spółgłoską");
  105.         } else if (sign.matches(vowelRegex)){
  106.             System.out.println("Podana litera jest samogłoską");
  107.         } else {
  108.             System.out.println("Podaj 1 literę i nie cwaniakuj");
  109.         }
  110.  
  111.         // v2 bez regex
  112.  
  113.         char letter = sign.charAt(0);
  114.  
  115.         // porównywanie stringów "a".equals(sign) zamiast sign.equals("a");
  116.  
  117.         if (letter == 97 || letter == 101 || letter == 105 || letter == 111 || letter == 117 ) {
  118.             System.out.println("jest to samogłoską");
  119.         } else {
  120.             System.out.println("spółgłoska!");
  121.         }
  122.  
  123.         // v3
  124.  
  125.         if ("aeiouy".contains(sign)) {
  126.             System.out.printf("Samogloska!");
  127.         } else {
  128.             System.out.println("Spółgłoska");
  129.         }
  130.  
  131.         if (sign.length() !=1 || !Character.isLetter(sign.charAt(0))) {
  132.             // jeżeli długość wprowadzonego łańcucha jest różna od 1 LUB znak nie jest literą...
  133.             // na zajęciach był błąd i było "i" zamiast "lub"
  134.             System.out.println("Nie kombinuj");
  135.         }
  136.  
  137.         // to samo co wyżej
  138.         if (sign.length() !=1 || sign.charAt(0) >= 'a' && sign.charAt(0) <= 'z') {
  139.  
  140.         }
  141.  
  142.  
  143.         //napisz program który liczy BMI = masa/wzrost ^2, wyświetla go z informacją o niedowadze (ponizej 18,5)
  144.         // wadze prawidlowej lub niedowadze (25 i wyzej);
  145.         // masa w KG, wzrost w metrach
  146.  
  147.         System.out.println("Policzmy Twoje BMI");
  148.         System.out.print("Podaj swoją masę w kg: ");
  149.         double masa = scanner.nextDouble();
  150.         System.out.print("Podaj swój wzrost w metrach: ");
  151.         double wzrost = scanner.nextDouble();
  152.  
  153.         double bmi = masa / Math.pow(wzrost, 2);
  154.  
  155.         System.out.printf("Twoje BMI to: %.2f\n", bmi);
  156.  
  157.         if (bmi <18.5) {
  158.             System.out.println("Masz niedowagę typie. Zacznij żreć");
  159.         } else if (bmi < 25){
  160.             System.out.println("Normalna waga. nudaaa!");
  161.         } else {
  162.             System.out.println("przestań tyle żreć. masz nadwagę typie!");
  163.         }
  164.  
  165.         //zad
  166.         // oblicza należny podatek dochodowy:
  167.         // do kwoty 85 528 to 18%
  168.         // nadwyżka jest opodatkowana stawka 32% - tylko nadwyżka, nie cała kwota
  169.         // policz podatek liniowy 19% bez względu na kwotę i pokaż co się bardziej opłaca
  170.  
  171.         System.out.println("Policzymy ile placisz podatku");
  172.         System.out.print("\nPodaj swoje zarobki: ");
  173.         int salary = scanner.nextInt();
  174.         double pit;
  175.         double pit19;
  176.  
  177.         if (salary < LIMIT) { //export do stałej wartosci limitu 85528
  178.             pit = salary * 0.18;
  179.         } else {
  180.             int temp;
  181.             temp = salary - LIMIT;
  182.             pit = PIT_OF_LIMIT + temp * 0.32;
  183.         }
  184.         pit19 = salary * 0.19;
  185.  
  186.         System.out.println("Twoj podatek to: " + (int) pit); //podatek pokazujemy w liczbach całkowitych
  187.         System.out.println("Podatek liniowy wynosi: " + (int) pit19);
  188.         if (pit > pit19) {
  189.             System.out.println("Bardziej opłaca sie liniowy");
  190.         } else {
  191.             System.out.println("Liniowy się nie opłaca");
  192.         }
  193.  
  194.         //zadanie domowe dla chętnych:
  195.         // policz miejsce zerowe funkcji kwadratowej :)
  196.        
  197.  
  198.     }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement