Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.Talar;
- import java.util.Scanner;
- import java.util.Random;
- import java.math.*;
- public class Main {
- public static void main(String[] args) {
- WyborZadania();
- }
- private static void WyborZadania() {
- Scanner inp = new Scanner(System.in);
- System.out.println("Dostępne zadania:\n1-15. Funkcje");
- System.out.print("Przejdż do zadania: ");
- int wybor = inp.nextInt();
- switch (wybor) {
- case 1:
- Zad1();
- break;
- case 2:
- Zad2();
- break;
- case 3:
- Zad3();
- break;
- case 4:
- Zad4();
- break;
- case 5:
- Zad5();
- break;
- case 6:
- Zad6();
- break;
- case 7:
- Zad7();
- break;
- case 8:
- Zad8();
- break;
- case 9:
- Zad9();
- break;
- case 10:
- Zad10();
- break;
- case 11:
- Zad11();
- break;
- case 12:
- Zad12();
- break;
- case 13:
- Zad13();
- break;
- case 14:
- Zad14();
- break;
- case 15:
- Zad15();
- break;
- default:
- WyborZadania();
- break;
- }
- }
- private static void Zad1(){
- //Silnia
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Silnia z n: "); int n = zadanie.nextInt();
- int wynik = 1;
- int wynik2 = silnia(n);
- for(int i = 1; i <= n; i++){
- wynik *= i;
- }
- System.out.print("(iteracja) Silnia " + n + "! = " + wynik);
- System.out.print("\n(rekurencja) Silnia " + n + "! = " + wynik2);
- }
- private static int silnia(int n){
- if(n < 2){
- return 1;
- }
- else{
- return n*silnia(n-1);
- }
- }
- private static void Zad2(){
- //Ciąg fibonacciego
- Scanner zadanie = new Scanner(System.in);
- System.out.print("n wyraz ciagu fibonnaciego: "); int n = zadanie.nextInt();
- int wynik2 = fib(n);
- System.out.println("(Rekurencyjnie) Wyraz: " + n + ": " + wynik2);
- long fib[] = new long[n+1];
- fib[0] = 0; fib[1] = 1;
- for(int i = 2; i <= n; i++){
- fib[i] = fib[i-1] + fib[i-2];
- }
- System.out.println("(Iteracyjnie) Wyraz: " + n + ": " + fib[n]);
- }
- private static int fib(int n)
- {
- if(n<3){ return 1; }
- else { return fib(n-2)+fib(n-1); }
- }
- private static void Zad3(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- System.out.print("Znak: "); String z = zadanie.nextLine();
- int wynik = strpos(text, z.charAt(0));
- System.out.print("Indeks: " + wynik);
- }
- private static int strpos(String text, char z){
- int index = -1;
- for(int i = 0; i < text.length(); i++){
- if(text.charAt(i) == z){
- index = i;
- break;
- }
- }
- return index;
- }
- private static void Zad4(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- String wynik = flipCase(text);
- System.out.print("Wynik: " + wynik);
- }
- private static String flipCase(String text){
- String wynik = "";
- String posredni = "";
- for(int i = 0; i < text.length(); i++){
- char ch = text.charAt(i);
- if(ch >= 'a' && ch <= 'z'){
- posredni += ch;
- posredni = posredni.toUpperCase();
- }
- else if(ch >= 'A' && ch <= 'Z'){
- posredni += ch;
- posredni = posredni.toLowerCase();
- }
- wynik += posredni;
- posredni = "";
- }
- return wynik;
- }
- private static void Zad5(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String str1 = zadanie.nextLine();
- System.out.print("Tekst: "); String str2 = zadanie.nextLine();
- boolean wynik = startsWith(str1, str2);
- System.out.print("Wynik: " + wynik);
- }
- private static boolean startsWith(String str1, String str2){
- boolean wynik = true;
- for(int i = 0; i < str2.length(); i++){
- if(str1.charAt(i) != str2.charAt(i) || str2.length() > str1.length()){
- wynik = false;
- break;
- }
- }
- return wynik;
- }
- private static void Zad6(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- int wynik = strToInt(text);
- System.out.print("Wynik: " + wynik);
- }
- private static int strToInt(String text){
- double wynik = 0; double mnozenie = 0;
- boolean znak = true;
- boolean dzialanie = false;
- String posredni = "";
- String posredni2 = "";
- int i = 0;
- if(text.charAt(0) == '-') {
- i = 1; znak = false;
- }
- for(int j = i; j < text.length(); j++){
- if(Character.isDigit(text.charAt(j))){
- posredni += text.charAt(j);
- }
- else if(text.charAt(j)=='e'){
- dzialanie = true;
- for(int k = j + 1; k < text.length(); k++){
- if(Character.isDigit((text.charAt(k)))){
- posredni2 += text.charAt(k);
- }
- else { break; }
- }
- }
- else { break; }
- }
- wynik = Integer.parseInt(posredni);
- if(posredni2!="") { mnozenie = Integer.parseInt(posredni2); }
- if(dzialanie){ wynik = wynik * Math.pow(10,mnozenie); }
- if(!znak){ wynik*=(-1); }
- return (int)wynik;
- }
- private static void Zad7(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String gdzie = zadanie.nextLine();
- System.out.print("Tekst: "); String co = zadanie.nextLine();
- int wynik = strfind(gdzie, co);
- System.out.print("Wynik: " + wynik);
- }
- private static int strfind(String gdzie, String co){
- int wynik = -1;
- if(gdzie.indexOf(co) != -1)
- {
- for(int i = 0; i < gdzie.length(); i++)
- {
- int index = gdzie.indexOf(co, i);
- if(index != -1) { wynik = index; }
- }
- }
- else { wynik = -1;}
- return wynik;
- }
- private static void Zad8(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- int wynik = wordCount(text);
- System.out.print("Wynik: " + wynik);
- }
- private static int wordCount(String text){
- int wynik = 1;
- for(int i = 1; i < text.length(); i++){
- if(Character.isWhitespace(text.charAt(i)) && Character.isLetter(text.charAt(i-1)) ){
- wynik++;
- }
- }
- return wynik;
- }
- private static void Zad9(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- String[] wynik = podzielNaSlowa(text);
- for(int i=0; i < wynik.length; i++){
- System.out.println(wynik[i]);
- }
- }
- private static String[] podzielNaSlowa(String text){
- String[] wynik = new String[wordCount(text)];
- int j = 0;
- for(int k = 0; k < wynik.length; k++){
- wynik[k] = "";
- }
- for(int i = 0; i < text.length(); i++){
- if(Character.isWhitespace(text.charAt(i))){
- j++;
- }
- else { wynik[j] += text.charAt(i); }
- }
- return wynik;
- }
- private static void Zad10(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String gdzie = zadanie.nextLine();
- System.out.print("co: "); String co = zadanie.nextLine();
- int wynik = strFindAndCount(gdzie, co);
- System.out.print("Wynik: " + wynik);
- }
- private static int strFindAndCount(String gdzie, String co){
- int wynik = 0;
- for(int i = 0; i < gdzie.length() - co.length(); i++){
- if(gdzie.substring(i, i + co.length()).equals(co)){ wynik++; }
- }
- return wynik;
- }
- private static void Zad11(){
- Scanner zadanie = new Scanner(System.in);
- Scanner zadanie2 = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- System.out.print("Start: "); int start = zadanie2.nextInt();
- System.out.print("ile: "); int ile = zadanie2.nextInt();
- String wynik = strcut(text, start, ile);
- System.out.print("Wynik: " + wynik);
- }
- private static String strcut(String text, int start, int ile){
- String wynik = "";
- char[] posredni = new char[text.length()];
- for(int i = 0; i < posredni.length; i++){
- posredni[i] = text.charAt(i);
- }
- for(int j = start; j < start + ile; j++){
- posredni[j] = 32;
- }
- for(int k = 0; k < posredni.length; k++){
- wynik += posredni[k];
- }
- return wynik;
- }
- private static void Zad12(){
- //Nie chce mi sie, za dużo roboty
- }
- private static void Zad13(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String text = zadanie.nextLine();
- int[] kol = {0,1,4,3,2,6,5};
- String wynik = poprzestawiaj(text, kol);
- System.out.print("Wynik " + wynik);
- }
- private static String poprzestawiaj(String text, int[] kolejnosc){
- String wynik = "";
- for(int i = 0; i < text.length(); i++){
- if(kolejnosc[i] < text.length()){
- wynik += text.charAt(kolejnosc[i]);
- }
- else { wynik += text.charAt(i); }
- }
- return wynik;
- }
- private static void Zad14(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Tekst: "); String t1 = zadanie.nextLine();
- System.out.print("Tekst: "); String t2 = zadanie.nextLine();
- System.out.println(czyAnagram(t1, t2));
- }
- private static boolean czyAnagram(String t1, String t2){
- boolean wynik = true;
- t1.toLowerCase(); t2.toLowerCase();
- for(int i = 0; i < t1.length(); i++){
- if(Character.isLetter(t1.charAt(i))){
- int ile = ile_liter(t1, t1.charAt(i));
- int ile2 = ile_liter(t2, t1.charAt(i));
- if(ile!=ile2){ wynik = false; break;}
- }
- }
- return wynik;
- }
- private static int ile_liter(String napis, char litera)
- {
- int ile_liter = 0;
- char znak_z_napisu;
- for (int i = 0 ; i < napis.length() ; i++)
- {
- znak_z_napisu = napis.charAt(i);
- if(znak_z_napisu == litera){
- ile_liter++;
- }
- }
- return ile_liter;
- }
- private static void Zad15(){
- Scanner zadanie = new Scanner(System.in);
- System.out.print("Kolor #xxyyzz: "); String color = zadanie.nextLine();
- int[] wynik = HTMLColor2RGB(color);
- System.out.print("RGB: {" + wynik[0] + ", " + wynik[1] + ", " + wynik[2] + "}");
- }
- private static int [] HTMLColor2RGB(String color){
- double[] wynik = new double[3];
- int[] result = new int[3];
- wynik[0] = (hexToDec("" + color.charAt(1))*Math.pow(16,1)) + (hexToDec("" + color.charAt(2))*Math.pow(16,0));
- wynik[1] = (hexToDec("" + color.charAt(3))*Math.pow(16,1)) + (hexToDec("" + color.charAt(4))*Math.pow(16,0));
- wynik[2] = (hexToDec("" + color.charAt(5))*Math.pow(16,1)) + (hexToDec("" + color.charAt(6))*Math.pow(16,0));
- for(int i = 0; i<3; i++){
- result[i] = (int)wynik[i];
- }
- return result;
- }
- private static int hexToDec(String l){
- int wynik = 0;
- if(l.charAt(0) == 'A' || l.charAt(0) == 'a'){ return 10;}
- else if(l.charAt(0) == 'B' || l.charAt(0) == 'b'){ return 11;}
- else if(l.charAt(0) == 'C' || l.charAt(0) == 'c'){ return 12;}
- else if(l.charAt(0) == 'D' || l.charAt(0) == 'd'){ return 13;}
- else if(l.charAt(0) == 'E' || l.charAt(0) == 'e'){ return 14;}
- else if(l.charAt(0) == 'F' || l.charAt(0) == 'f'){ return 15;}
- else { return Integer.parseInt(l); }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement