Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package corso.java;
- public class Program {
- static void reverse(String s) {
- // Stampare s al contrario
- // prendo tutti i caratteri di s dall'ultimo al primo
- // l'ultimo carattere qual è? l'ultimo è quello di posizione s.length() -1
- // il primo ? quello di posizione 0
- for (int i = s.length() - 1; i >= 0; --i) // scorro tutti i caratteri dall'ultimo al primo
- System.out.print(s.charAt(i)); // stampo il carattere corrente
- System.out.println();
- }
- static void checkIfPalindrome(String s) {
- // controlla se s sia palindroma!
- // una stringa è palindroma quando non cambia se scritta al contrario
- // studio di un algoritmo:
- // posso controllare i caratteri a partire dai due estremi fino al centro
- // se sono tutti uguali, allora la stringa è palindroma
- int len = s.length();
- int midlen = len / 2;
- int i = 0;
- while(i <= midlen && s.charAt(i) == s.charAt(len-i-1)) ++i;
- if (s.charAt(i) == s.charAt(len-i-1))
- System.out.println("|" + s + "| è palindroma");
- else
- System.out.println("|" + s + "| non è palindroma");
- }
- static void checkIfPalindromeIgnoreSpaces(String s) {
- // controlla se s sia palindroma ignorando gli spazi!
- // una stringa è palindroma quando non cambia se scritta al contrario
- // studio di un algoritmo:
- // posso controllare i caratteri a partire dai due estremi fino al centro
- // se sono tutti uguali, allora la stringa è palindroma
- String t = s.replaceAll(" ", ""); // crea un'altra stringa da s, togliendo tutti gli spazi
- int len = t.length();
- int midlen = len / 2;
- int i = 0;
- while(i <= midlen && t.charAt(i) == t.charAt(len-i-1)) ++i;
- if (t.charAt(i) == t.charAt(len-i-1))
- System.out.println("|" + s + "| è palindroma");
- else
- System.out.println("|" + s + "| non è palindroma");
- }
- public static void main(String[] args) {
- reverse("Pippo");
- reverse("Pluto");
- reverse("Paperino");
- checkIfPalindrome("paperino");
- checkIfPalindrome("anna e otto e anna");
- checkIfPalindrome("i nipoti e i topini");
- checkIfPalindromeIgnoreSpaces("i nipoti e i topini");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement