C4

Streda

package sk.paz1a.practicals.task04;

import sk.upjs.jpaz2.Turtle;

public class StringTurtle extends Turtle {

        public int countChar(String s, char c) {
                int counter = 0;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == c) {
                                counter++;
                        }
                }
                return counter;
        }

        public String obratRetazec(String s) {
                // Specialne osetrime pripad, kedy je referencia na zadany retazec null
                if (s == null)
                        return null;

                // Referencia na medzivysledkovy retazec
                // String vysledok = ""; je to skratka pre
                // String vysledok = new String("");
                String vysledok = "";

                // Strategia: postupne budujeme vysledny retazec tak, ze nan prilepujeme
                // znaky retazca s od konca, t.j. zaciname indexom LENGTH-1 a koncime s
                // indexom 0
                for (int i = s.length() - 1; i >= 0; i--) {
                        // Vytvorime novy objekt triedy String prilepenim znaku na indexe i
                        // na koniec retazca referencovaneho z premennej vysledok.
                        // Referenciu na novovytvoreny retazec ulozime do premennej
                        // vysledok
                        vysledok = vysledok + s.charAt(i);
                }

                // Vratime vysledok
                return vysledok;
        }

        public boolean isPalindrome1(String s) {
                String sObrateny = obratRetazec(s);
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) != sObrateny.charAt(i)) {
                                return false;
                        }
                }
                return true;
        }

        public boolean isPalindrome2(String s) {
                String sObrateny = obratRetazec(s);

                if (s.equals(sObrateny)) {
                        return true;
                }
                return false;
        }

        public boolean isPalindrome3(String s) {

                for (int i = 0; i < s.length() / 2; i++) {
                        if (s.charAt(i) != s.charAt(s.length() - i - 1)) {
                                return false;
                        }
                }
                return true;
        }

        public boolean containsDoubleSpace(String s) {
                for (int i = 1; i < s.length(); i++) {
                        if (s.charAt(i - 1) == s.charAt(i) && s.charAt(i) == ' ') {
                                return true;
                        }
                }
                return false;
        }

        public boolean containsDoubleSpace2(String s) {
                boolean checker = false;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == ' ') {
                                if (checker == true) {
                                        return true;
                                }
                                checker = true;
                        } else {
                                checker = false;
                        }
                }
                return false;
        }

        public String unicharString(char c, int n) {

                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < n; i++) {
                        sb.append(c);

                }
                return (sb.toString());
        }

        public boolean isUnicharString1(String s) {

                for (int i = 0; i < s.length() - 1; i++) {
                        if (s.charAt(i) != s.charAt(i + 1)) {
                                return false;
                        }
                }
                return true;
        }

        public boolean isUnicharString2(String s) {
                if (s == null) {
                        return false;
                }

                if (s.length() == 0) {
                        return false;
                }

                char first = s.charAt(0);
                for (int i = 1; i < s.length(); i++) {
                        if (s.charAt(i) != first) {
                                return false;
                        }
                }
                return true;
        }

        public String duplicateChars(String s) {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < s.length(); i++) {
                        char c = s.charAt(i);
                        sb.append(c);
                        sb.append(c);
                }
                return (sb.toString());
        }

        public String removeExtraSpaces(String s) {
                StringBuilder sb = new StringBuilder();

                boolean checker = false;
                for (int i = 0; i < s.length(); i++) {

                        if (s.charAt(i) == ' ') {
                                checker = true;
                                if (checker == false) {
                                        sb.append(s.charAt(i));
                                }
                        } else {
                                sb.append(s.charAt(i));
                        }
                }
                String sNew = sb.toString();
                sNew.trim();
                return sNew;
        }

        public int countWords(String s) {
                if (s == null) {
                        return 0;
                }

                s = " " + s;
                int pocetSlov = 0;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) != ' ' && s.charAt(i - 1) == ' ') {
                                pocetSlov++;
                        }
                }
                return pocetSlov;
        }
 
package sk.paz1a.practicals.task04;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
                WinPane sandbox = new WinPane();

                SmartTurtle franklin = new SmartTurtle();
                sandbox.add(franklin);

                ObjectInspector oi = new ObjectInspector();
                oi.inspect(franklin);
                oi.inspect(sandbox);

                StringTurtle jano = new StringTurtle();
                String s = "jaano";
                System.out.println(jano.countChar(s,'a'));
                String s2 = "abcba";
                System.out.println(jano.isPalindrome3(s2));
                System.out.println(jano.containsDoubleSpace(s2));

        }
}

Štvrtok

package sk.paz1a.practicals.task04;

import sk.upjs.jpaz2.Turtle;

public class StringTurtle extends Turtle {

        public int countChar(String s, char c) {
                int counter = 0;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == c) {
                                counter++;
                        }
                }
                return counter;
        }

        public String obratRetazec(String s) {
                // Specialne osetrime pripad, kedy je referencia na zadany retazec null
                if (s == null)
                        return null;

                // Referencia na medzivysledkovy retazec
                // String vysledok = ""; je to skratka pre
                // String vysledok = new String("");
                String vysledok = "";

                // Strategia: postupne budujeme vysledny retazec tak, ze nan prilepujeme
                // znaky retazca s od konca, t.j. zaciname indexom LENGTH-1 a koncime s
                // indexom 0
                for (int i = s.length() - 1; i >= 0; i--) {
                        // Vytvorime novy objekt triedy String prilepenim znaku na indexe i
                        // na koniec retazca referencovaneho z premennej vysledok.
                        // Referenciu na novovytvoreny retazec ulozime do premennej
                        // vysledok
                        vysledok = vysledok + s.charAt(i);
                }

                // Vratime vysledok
                return vysledok;
        }

        public boolean isPalindrome1(String s) {
                String sObrateny = obratRetazec(s);
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) != sObrateny.charAt(i)) {
                                return false;
                        }
                }
                return true;
        }

        public boolean isPalindrome2(String s) {
                String sObrateny = obratRetazec(s);

                if (s.equals(sObrateny)) {
                        return true;
                }
                return false;
        }

        public boolean isPalindrome3(String s) {

                for (int i = 0; i < s.length() / 2; i++) {
                        if (s.charAt(i) != s.charAt(s.length() - i - 1)) {
                                return false;
                        }
                }
                return true;
        }

        public boolean containsDoubleSpace(String s) {
                for (int i = 1; i < s.length(); i++) {
                        if (s.charAt(i - 1) == s.charAt(i) && s.charAt(i) == ' ') {
                                return true;
                        }
                }
                return false;
        }

        public boolean containsDoubleSpace2(String s) {
                boolean checker = false;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == ' ') {
                                if (checker == true) {
                                        return true;
                                }
                                checker = true;
                        } else {
                                checker = false;
                        }
                }
                return false;
        }

        public String unicharString(char c, int n) {

                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < n; i++) {
                        sb.append(c);

                }
                return (sb.toString());
        }

        public boolean isUnicharString1(String s) {

                for (int i = 0; i < s.length() - 1; i++) {
                        if (s.charAt(i) != s.charAt(i + 1)) {
                                return false;
                        }
                }
                return true;
        }

        public boolean isUnicharString2(String s) {
                if (s == null) {
                        return false;
                }

                if (s.length() == 0) {
                        return false;
                }

                char first = s.charAt(0);
                for (int i = 1; i < s.length(); i++) {
                        if (s.charAt(i) != first) {
                                return false;
                        }
                }
                return true;
        }

        public String duplicateChars(String s) {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < s.length(); i++) {
                        char c = s.charAt(i);
                        sb.append(c);
                        sb.append(c);
                }
                return (sb.toString());
        }

        public String removeExtraSpaces(String s) {
                StringBuilder sb = new StringBuilder();

                boolean checker = false;
                for (int i = 0; i < s.length(); i++) {

                        if (s.charAt(i) == ' ') {

                                if (checker == false) {
                                        sb.append(s.charAt(i));
                                }
                                checker = true;
                        } else {
                                sb.append(s.charAt(i));
                                checker=false;
                        }
                }
                String sNew = sb.toString();
                sNew.trim();
                return sNew;
        }



        public int countWords(String s) {
                if (s == null) {
                        return 0;
                }

                s = " " + s;
                int pocetSlov = 0;
                for (int i = 1; i < s.length(); i++) {
                        if (s.charAt(i) != ' ' && s.charAt(i - 1) == ' ') {
                                pocetSlov++;
                        }
                }
                return pocetSlov;
        }
}
 
package sk.paz1a.practicals.task04;

import java.awt.Color;
import java.awt.event.MouseEvent;

import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;

public class GridPane extends WinPane {

        private int counter;

        public void drawGrid() {

                int x = 0;
                int y = 0;

                int height = this.getHeight();
                int width = this.getWidth();
                Turtle kreslic = new Turtle();
                this.add(kreslic);
                while (x < width) {
                        kreslic.setPosition(x, 0);
                        kreslic.moveTo(x, height);
                        x = x + 50;

                }

                while (y < height) {
                        kreslic.setPosition(0, y);
                        kreslic.moveTo(width, y);
                        y = y + 50;

                }

                this.remove(kreslic);
        }

        public void drawDot(int column, int row, Color dotColor) {
                Turtle kreslic = new Turtle();
                this.add(kreslic);
                kreslic.setFillColor(dotColor);
                int x = 25 + column * 50;
                int y = 25 + row * 50;
                kreslic.setPosition(x, y);
                kreslic.dot(20);
                this.remove(kreslic);
        }

        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                if (counter % 2 == 0) {
                        drawDot(x / 50, y / 50, Color.RED);
                } else {
                        drawDot(x / 50, y / 50, Color.BLUE);
                }
                counter++;
        }

}
 
package sk.paz1a.practicals.task04;

import java.awt.Color;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
                WinPane sandbox = new WinPane();

                SmartTurtle franklin = new SmartTurtle();
                sandbox.add(franklin);

                ObjectInspector oi = new ObjectInspector();
                oi.inspect(franklin);
                oi.inspect(sandbox);

                StringTurtle jano = new StringTurtle();
                String s = "jaano";
                System.out.println(jano.countChar(s,'a'));
                String s2 = "abcba";
                System.out.println(jano.isPalindrome3(s2));
                System.out.println(jano.containsDoubleSpace(s2));

                GridPane mriezka = new GridPane();
                oi.inspect(mriezka);
                mriezka.drawGrid();






        }
}