[Java] vedere se una stringa ha tutti i caratteri uguali..
Salve a tutti, mi servirebbe tradurre in Java il seguente algoritmo scritto in C:
Mi trovo un po in difficoltà perché in Java non posso scandire la stringa come farei con un array di caratteri...
La mia idea sarebbe quella di creare un metodo di tipo boolean che mi restituisce true se la stringa ha caratteri tutti uguali e false per il contrario.. Però non riesco ad aggirare questo ostacolo, altrimenti si tratterebbe soltanto di "ricopiare" questo che ho fatto in C come esempio
#include <stdio.h> #include <stdlib.h> #define N 5 int main() { int leggi_stringa(char str[N]); char vet[N]; int i; int uguali; printf("Inserisci una stringa di %d caratteri\n",N); leggi_stringa(vet); for ( i=1; i < N && uguali==1; i++ ) { if ( vet[i] != vet[i-1] ) uguali = 0 ; } if ( uguali == 0 ) printf("La sequenza non contiene caratteri tutti uguali\n") ; else printf("La sequenza contiene caratteri tutti uguali\n") ; return EXIT_SUCCESS; }
Mi trovo un po in difficoltà perché in Java non posso scandire la stringa come farei con un array di caratteri...
La mia idea sarebbe quella di creare un metodo di tipo boolean che mi restituisce true se la stringa ha caratteri tutti uguali e false per il contrario.. Però non riesco ad aggirare questo ostacolo, altrimenti si tratterebbe soltanto di "ricopiare" questo che ho fatto in C come esempio

Risposte
Puoi usare il metodo charAt per ottenere l'i-esimo carattere di una stringa in Java. La creazione o meno di un metodo aggiuntivo che implementi questa funzionalità mi sembra un problema del tutto ortogonale a quello di trovare un modo di implementare tale logica.
Grazie per il suggerimento, effettivamente credo di aver trovato il modo di rendere impossibile all'utente di inserire solo spazi bianchi
in una casella nome
Secondo te può andar bene questo?
in una casella nome

Secondo te può andar bene questo?
package stringhe; import java.util.Scanner; public class Stringhe { public static void main(String[] args) { Scanner silvia=new Scanner(System.in); int i; int occorr; int lung; String s=silvia.nextLine(); lung=s.length(); occorr=0; for(i=0;i<lung;i++) if(s.charAt(i)==' ') occorr++; if(occorr==lung) System.out.println("I caratteri sono tutti spazi bianchi"); else System.out.println("Ok"); } }