Advertisement
Talar97

Lab02

Nov 16th, 2017
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.30 KB | None | 0 0
  1. package com.Talar;
  2.  
  3. import static java.lang.Math.*;
  4. import java.util.Scanner;
  5. import java.util.Random;
  6.  
  7. public class Main {
  8.  
  9.     public static void main(String[] args) {
  10.         WyborZadania();
  11.     }
  12.  
  13.     private static void WyborZadania(){
  14.         Scanner input = new Scanner(System.in);
  15.         System.out.println("Dostępne zadania:\n1-9. Klasa String, Math, Random");
  16.         System.out.print("Przejdż do zadania: "); int wybor = input.nextInt();
  17.  
  18.         switch(wybor){
  19.             case 1:
  20.                 Zad1(); break;
  21.             case 2:
  22.                 Zad2(); break;
  23.             case 3:
  24.                 Zad3(); break;
  25.             case 4:
  26.                 Zad4(); break;
  27.             case 5:
  28.                 Zad5(); break;
  29.             case 6:
  30.                 Zad6(); break;
  31.             case 7:
  32.                 Zad7(); break;
  33.             case 8:
  34.                 Zad8(); break;
  35.             case 9:
  36.                 Zad9(); break;
  37.             default:
  38.                 WyborZadania(); break;
  39.         }
  40.     }
  41.  
  42.     private static void Zad1(){
  43.         //Odwracanie wprowadzonego ciagu znaków
  44.  
  45.         Scanner zad = new Scanner(System.in);
  46.         System.out.print("Wprowadź ciag znaków: "); String tekst = zad.nextLine();
  47.         String odwroconyTekst = "";
  48.  
  49.         for(int i=tekst.length(); i>0; i--){
  50.             odwroconyTekst += tekst.charAt(i-1);
  51.         }
  52.  
  53.         System.out.println("Oryginał: " + tekst + "\nOdwrócony tekst: "+odwroconyTekst);
  54.     }
  55.  
  56.     private static void Zad2(){
  57.         //Sprawdzanie, czy wprowadzone słowo jest palindromem
  58.         //Palindrom, to wyrazenia brzmiace tak samo od lewej jak i prawej (np: kajak)
  59.  
  60.         Scanner zad = new Scanner(System.in);
  61.         System.out.print("Wprowadź ciag znaków: "); String tekst = zad.nextLine();
  62.  
  63.         int i=0;
  64.         int j = tekst.length();
  65.  
  66.         for(i=0; i < j; i++, j--){
  67.             if(tekst.charAt(i) != tekst.charAt(j-1)) {
  68.                 break;
  69.             }
  70.         }
  71.         if(i < j){
  72.             System.out.print("Wyraz "+tekst+" jest palindromem");
  73.         }
  74.         else{
  75.             System.out.print("Wyraz "+tekst+" NIE jest palindromem");
  76.         }
  77.     }
  78.  
  79.     private static void Zad3(){
  80.         //Szukanie cyft w stringu i sumowanie (metoda .isDigit() )
  81.         Scanner zad = new Scanner(System.in);
  82.         System.out.print("Wprowadź ciag znaków: "); String tekst = zad.nextLine();
  83.  
  84.         int cyfry = 0;
  85.         int suma = 0;
  86.  
  87.         for(int i=0; i < tekst.length(); i++){
  88.             if(Character.isDigit(tekst.charAt(i))){
  89.                 suma += Character.getNumericValue(tekst.charAt(i));
  90.                 cyfry++;
  91.             }
  92.         }
  93.  
  94.         System.out.println("Ilość cyfr w ciągu: "+cyfry+"\nSuma cyfr: "+suma);
  95.     }
  96.  
  97.     private static void Zad4(){
  98.         //Sprawdzanie poprawności sparowania nawiasów
  99.         //Kod ASCII dla '(' - 40; KOD ASCII dla ')' - 41
  100.         //Działa tylko na ww nawiasach
  101.         Scanner zad = new Scanner(System.in);
  102.         System.out.print("Wprowadź ciag znaków: "); String tekst = zad.nextLine();
  103.  
  104.         int nawiasy = 0;
  105.  
  106.         for(int i=0; i<tekst.length(); i++){
  107.             if(tekst.charAt(i) == 40){
  108.                 nawiasy++;
  109.             }
  110.             else if(tekst.charAt(i)==41){
  111.                 nawiasy--;
  112.             }
  113.         }
  114.         if(nawiasy==0){
  115.             System.out.println("Wyrażenie jest poprawne. ");
  116.         }
  117.         else{
  118.             System.out.println("Błędne sparowanie nawiasów");
  119.         }
  120.     }
  121.  
  122.     private static void Zad5(){
  123.         //Zliczanie ile razy w ciagu wystepuje jego ostatni znak
  124.         Scanner zad = new Scanner(System.in);
  125.         System.out.print("Wprowadź ciag znaków: "); String tekst = zad.nextLine();
  126.         int licznik = 0;
  127.  
  128.         for(int i=0; i < tekst.length(); i++){
  129.             if(tekst.charAt(i) == tekst.charAt(tekst.length()-1)){
  130.                 licznik++;
  131.             }
  132.         }
  133.         System.out.println("Znak: " + tekst.charAt(tekst.length()-1) + " wystepuje w ciągu " + licznik + " razy");
  134.     }
  135.  
  136.     private static void Zad6(){
  137.         //Algorytm Euklidesa - szukanie najwiekszego wspolnego dzielnika
  138.         Scanner zad = new Scanner(System.in);
  139.         System.out.print("Wprowadź a: "); int a = zad.nextInt();
  140.         System.out.print("Wprowadź b: "); int b = zad.nextInt();
  141.         int c = 0;
  142.  
  143.         System.out.print("NWD("+a+", "+b+") = ");
  144.         while(b!=0){
  145.             c = a % b;
  146.             a = b;
  147.             b = c;
  148.         }
  149.         System.out.print(a);
  150.     }
  151.  
  152.     private static boolean isInt(String str){
  153.         try {
  154.             Integer.parseInt(str);
  155.         } catch(NumberFormatException e) {
  156.             return false;
  157.         }
  158.  
  159.         return true;
  160.     }
  161.  
  162.     private static void Zad7(){
  163.         //Wyznaczanie min i max z liczb, ktore uzytkownik wprowadza do wpisania znaku k (kod ASCII - 107)
  164.         Scanner zad = new Scanner(System.in);
  165.         System.out.print("Wprowadź liczbe: "); String x = zad.nextLine();
  166.         int licznik = 0; int max= -2147483648; int min = 2147483647;
  167.  
  168.         while(x.charAt(0) != 107){
  169.             if(isInt(x)){
  170.                 if(licznik==0) {
  171.                     min = Integer.parseInt(x);
  172.                     max = Integer.parseInt(x);
  173.                 }
  174.  
  175.                 int liczba = Integer.parseInt(x);
  176.                 if(liczba>max){ max = liczba; }
  177.                 if(liczba<min){ min = liczba; }
  178.  
  179.                 licznik++;
  180.             }
  181.             System.out.print("Wprowadź liczbe: "); x = zad.nextLine();
  182.         }
  183.  
  184.         System.out.println("Max: " + max + " Min: " + min);
  185.     }
  186.  
  187.     private static void Zad8(){
  188.         //Losowanie liczb z podanego zakresu
  189.         Scanner zad = new Scanner(System.in);
  190.         Random rand = new Random();
  191.         System.out.print("Wprowadź liczbe A: "); int A = zad.nextInt();
  192.         System.out.print("Wprowadź liczbe B: "); int B = zad.nextInt();
  193.         int r = 0;
  194.  
  195.         for(int i=0; i<10; i++){
  196.             if(A<B){
  197.                 r = rand.nextInt(B)+A;
  198.             }
  199.             else{
  200.                 r = rand.nextInt(A)+B;
  201.             }
  202.  
  203.             System.out.print(r + ", ");
  204.         }
  205.     }
  206.  
  207.     private static void Zad9(){
  208.         //Kalkulator
  209.         Scanner zad = new Scanner(System.in);
  210.         Scanner obl = new Scanner(System.in);
  211.         System.out.print("1 - Dodawanie\n2 - Odejmowanie\n3 - Dzielenie\n4 - Mnożenie\n5 - Wyznaczanie pierwiastka kwadratowego");
  212.         System.out.print("\n6 - Wyznaczanie procenta z liczby\n7 - Wyznaczaniereszty z dzielenia dwóch liczb");
  213.         System.out.print("\n8 - Wyznaczanie dowolnej potęgi danej liczby\n9 - Zaokrąglenia liczb\n10 - Wartość bezwzględna");
  214.         System.out.print("\n11 - Liczenie obwodu okregu i pola koła\n12 - Liczenie logarytmu dziesietnego i dwójkowego");
  215.         System.out.print("\n13 - Liczenie f. trygonometrycznych");
  216.         System.out.print("\nWybierz operacje: "); String x = zad.nextLine();
  217.  
  218.         double A = 0;
  219.         double B = 0;
  220.  
  221.         while(x.charAt(0) != 107){
  222.             switch (x){
  223.                 case "1":
  224.                     System.out.print("A: "); A = obl.nextDouble();
  225.                     System.out.print("B: "); B = obl.nextDouble();
  226.                     System.out.println(A + " + " + B + " = " + (A+B));
  227.                     break;
  228.                 case "2":
  229.                     System.out.print("A: "); A = obl.nextDouble();
  230.                     System.out.print("B: "); B = obl.nextDouble();
  231.                     System.out.println(A + " - " + B +" = " + (A-B));
  232.                     break;
  233.                 case "3":
  234.                     System.out.print("A: "); A = obl.nextDouble();
  235.                     System.out.print("B: "); B = obl.nextDouble();
  236.                     if(B!=0){ System.out.println(A + " / " + B +" = " + (A/B)); }
  237.                     else { System.out.print("B = 0"); }
  238.                     break;
  239.                 case "4":
  240.                     System.out.print("A: "); A = obl.nextDouble();
  241.                     System.out.print("B: "); B = obl.nextDouble();
  242.                     System.out.println(A + " * " + B +" = " + (A*B));
  243.                     break;
  244.                 case "5":
  245.                     System.out.print("A: "); A = obl.nextInt();
  246.                     System.out.println("sqrt(" + A + ") = " + sqrt(A));
  247.                     break;
  248.                 case "6":
  249.                     System.out.print("%: "); A = obl.nextDouble();
  250.                     System.out.print("Z liczby: "); B = obl.nextDouble();
  251.                     System.out.println(A + "% z liczby " + B + " = " + (B*(A/100)));
  252.                     break;
  253.                 case "7":
  254.                     System.out.print("A: "); A = obl.nextDouble();
  255.                     System.out.print("B: "); B = obl.nextDouble();
  256.                     if(B!=0){ System.out.println(A + " % " + B + " = " + (A%B)); }
  257.                     else { System.out.println("B = 0"); }
  258.                     break;
  259.                 case "8":
  260.                     System.out.print("A: "); A = obl.nextDouble();
  261.                     System.out.print("B: "); B = obl.nextDouble();
  262.                     System.out.println(A + "^" + B + " = " + pow(A,B));
  263.                     break;
  264.                 case "9":
  265.                     System.out.print("A: "); A = obl.nextDouble();
  266.                     System.out.println("Liczba " + A + " zaokrąglona: " + round(A));
  267.                     break;
  268.                 case "10":
  269.                     System.out.print("A: "); A = obl.nextDouble();
  270.                     System.out.println("|" + A + "| = " + abs(A));
  271.                     break;
  272.                 case "11":
  273.                     System.out.print("r: "); A = obl.nextDouble();
  274.                     System.out.println("Obwód koła: " + (2*Math.PI*A) + " Pole koła: " + (Math.PI*pow(A,2)));
  275.                     break;
  276.                 case "12":
  277.                     System.out.print("A: "); A = obl.nextDouble();
  278.                     System.out.println("Log10("+A+") = " + log10(A)/* + " Log2("+A+") = " + ""*/);
  279.                     break;
  280.                 case "13":
  281.  
  282.                     break;
  283.                 default:
  284.                     break;
  285.             }
  286.             System.out.print("Wybierz operacje: "); x = zad.nextLine();
  287.         }
  288.     }
  289. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement