Estratto del documento

Esercizio di laboratorio

Argomento: cicli, decisioni e variabili booleane; manipolazione di stringhe.

Scrivere un programma che verifica se una stringa, introdotta dall'utente tramite lo standard input (un'intera riga), è una palindrome.

Suggerimento: una stringa è una palindrome se è composta da una sequenza di caratteri (anche non alfabetici) che possa essere letta allo stesso identico modo anche al contrario (es. "radar", "anna", "inni", "xyz%u%zyx").

Il programma deve eseguire il minimo numero di confronti necessari per determinare se la stringa è una palindrome.

Verificare il corretto funzionamento del programma con:

  • Una stringa palindroma di lunghezza pari.
  • Una stringa palindroma di lunghezza dispari.
  • Una stringa non palindroma di lunghezza pari.
  • Una stringa non palindroma di lunghezza dispari.
  • Una stringa di lunghezza unitaria (che è ovviamente palindroma).
  • Una stringa di lunghezza zero (che è ragionevole definire palindroma).

Soluzione

start end, ecco una possibile soluzione: notare l'uso delle variabili e che indirizzano caratteri della stringa partendo rispettivamente dall'inizio e dalla fine di essa. Controllate che la condizione del ciclo while (start<end) sia corretta dal punto di vista logico, nei due casi in cui la lunghezza della stringa sia un numero pari o un numero dispari.

import java.util.Scanner;
public class PalindromeTester{ public static void main(String[] args){ Scanner in = new Scanner(System.in);
System.out.println("Inserire stringa:");
String s = in.nextLine();
int start = 0;
int end = s.length() -1;
boolean isPalindrome = true;
while (start < end && isPalindrome){ if (s.substring(start, start+1).equals(s.substring(end, end +1)))
// Oppure, equivalentemente, if (s.charAt(start) == s.charAt(end)){ start++;
end--;}
else
isPalindrome = false;}
if(isPalindrome)
System.out.println("E` una palindrome!!");
else System.out.println("Non e` una palindrome...");}}

Anteprima
Vedrai una selezione di 1 pagina su 1
Informatica I - Esercizi stringa palindrome Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community