English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Completa guida di esempio Java
In questo esempio, esamineremo se due stringhe in Java sono anagrammi (lettere disposte in modo diverso), una nuova parola o frase formata cambiando la posizione (ordine) delle lettere di una parola o di una frase.
Se possiamo formare una stringa重组altrui permutando i caratteri di un'altra stringa, possiamo dire che due stringhe sono anagrammi. Ad esempio,Race e CareEcco, possiamo riorganizzare le lettere di Care per formare la parola Race.
import java.util.Arrays; class Main { public static void main(String[] args) { String str1 = "Java"; String str2 = "Vaaj"; //Controlla se le lunghezze sono le stesse if(str1.length() == str2.length()) { //Converti la stringa in un array di char char[] charArray1 = str1.toCharArray(); char[] charArray2 = str2.toCharArray(); //Ordina l'array di char Arrays.sort(charArray1); Arrays.sort(charArray2); //Se gli array di char ordinati sono uguali //Allora la stringa è un anagramma boolean result = Arrays.equals(charArray1, charArray2); if(result) { System.out.println(str1 + " e " + str2 + " sono anagrammi."); } else { System.out.println(str1 + " e " + str2 + " non sono anagrammi."); } } } }
Risultato di output
Java e Vaaj sono anagrammi
In Java, abbiamo due stringhe chiamate str1 e str2. Qui, controlliamo se str1 e str2 sono letteralmente le stesse ma in ordine diverso.
Ecco
str1.toCharArray() - Converti la stringa in un array di char
Arrays.sort() - Ordina due array di char
Arrays.equal() - Controlla se gli array di char ordinati sono uguali
Se gli array di char ordinati sono uguali, allora la stringa è un anagramma.
import java.util.Arrays; import java.util.Scanner; class Main { public static void main(String[] args) { //Crea un oggetto della classe Scanner Scanner input = new Scanner(System.in); //Accetta l'input dell'utente System.out.print("Inserisci la prima stringa: "); String str1 = input.nextLine(); System.out.print("Inserisci la seconda stringa: "); String str2 = input.nextLine(); //Controlla se le lunghezze sono le stesse if(str1.length() == str2.length()) { //Converti la stringa in un array di char char[] charArray1 = str1.toCharArray(); char[] charArray2 = str2.toCharArray(); //Ordina l'array di char Arrays.sort(charArray1); Arrays.sort(charArray2); //Se gli array di char ordinati sono uguali //Allora la stringa è un anagramma boolean result = Arrays.equals(charArray1, charArray2); if(result) { System.out.println(str1 + " e " + str2 + " sono anagrammi."); } else { System.out.println(str1 + " e " + str2 + " non sono anagrammi."); } } input.close(); } }
Risultato di output
Inserisci la prima stringa: Race Inserisci la seconda stringa: Care Race e Care sono anagrammi
Nell'esempio sopra, abbiamo utilizzatoScannerLa classe riceve l'input dall'utente. Qui abbiamo verificato se la stringa fornita dall'utente è un anagramma.