Visualizzazione dei risultati da 1 a 9 su 9

Discussione: stringa

  1. #1

    stringa

    Salve , volevo sapere come si può effettuare una ricerca in una stringa.

    Ad esempio ho una Stringa String [] nome=new String[3];

    codice:
    nome[0]="a";
    nome[1]="b";
    nome[2]="b";
    nome[3]="b";
    
    for(int i=0;i<3;i++){
    
    if("b".equalsIgnorcase(nome[i] ){
    
    
    System.out.println("\nNome trovato"+nome[i]);
    
    
    }
    Io vorrei che quanto la stringa compare per ben 2 volte o più me lo scrive un una stringa;

    evidentemente quei caratteri di a b io li ho inseriti ma per il mio funzionamento devono essere casuali.

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    per prima cosa se dichiari new String[3] allora significa che il tuo array ha 3 posti, indicizzati da 0 a 2. Quindi nome[3] non ha senso.

    Poi se ho capito bene vuoi contare quante volte ogni stringa si ripete nell'array, giusto?

  3. #3
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Ciao,
    per prima cosa se dichiari new String[3] allora significa che il tuo array ha 3 posti, indicizzati da 0 a 2. Quindi nome[3] non ha senso.

    Poi se ho capito bene vuoi contare quante volte ogni stringa si ripete nell'array, giusto?
    Allora voglio eliminare i nomi uguali che si ripetono più di una volta e lasciarlo che si ripete solo una volta. Solo questo

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ok, quindi vuoi eliminare i duplicati.
    Devi per forza utilizzare array statici o puoi usare anche vettori dinamici (come ArrayList)? Perché nel secondo caso viene più immediato, mentre nel primo devi procedere a definire un nuovo array che poi riempi copiando alcuni elementi del primo.

  5. #5
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Ok, quindi vuoi eliminare i duplicati.
    Devi per forza utilizzare array statici o puoi usare anche vettori dinamici (come ArrayList)? Perché nel secondo caso viene più immediato, mentre nel primo devi procedere a definire un nuovo array che poi riempi copiando alcuni elementi del primo.
    Ok, voglio utilizzare ArrayList come si procede?

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ecco un esempio:

    codice:
    import java.util.ArrayList;
    
    
    public class StringheNonRipetute {
    	
    	public static void stampaLista(ArrayList<String> list) {
    		for(String s : list)
    			System.out.println(s);
    	}
    	
    	
    	public static void rimuoviDuplicati(ArrayList<String> list) {
    		for(int i=0; i<list.size()-1; i++) {
    			for(int j=i+1; j<list.size(); j++) {
    				if(list.get(i).equals(list.get(j)))
    					list.remove(j);
    			}
    		}
    	}
    	
    	
    	public static void main(String[] args) {
    		ArrayList<String> nomi = new ArrayList<>();
    		nomi.add("Alessandro");
    		nomi.add("Beatrice");
    		nomi.add("Carlo");
    		nomi.add("Alessandro");
    		nomi.add("Carlo");
    		nomi.add("Dario");
    		
    		stampaLista(nomi);
    		
    		rimuoviDuplicati(nomi);
    		
    		System.out.println();
    		
    		stampaLista(nomi);
    	}
    
    
    }

  7. #7
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Ecco un esempio:

    codice:
    import java.util.ArrayList;
    
    
    public class StringheNonRipetute {
        
        public static void stampaLista(ArrayList<String> list) {
            for(String s : list)
                System.out.println(s);
        }
        
        
        public static void rimuoviDuplicati(ArrayList<String> list) {
            for(int i=0; i<list.size()-1; i++) {
                for(int j=i+1; j<list.size(); j++) {
                    if(list.get(i).equals(list.get(j)))
                        list.remove(j);
                }
            }
        }
        
        
        public static void main(String[] args) {
            ArrayList<String> nomi = new ArrayList<>();
            nomi.add("Alessandro");
            nomi.add("Beatrice");
            nomi.add("Carlo");
            nomi.add("Alessandro");
            nomi.add("Carlo");
            nomi.add("Dario");
            
            stampaLista(nomi);
            
            rimuoviDuplicati(nomi);
            
            System.out.println();
            
            stampaLista(nomi);
        }
    
    
    }


    Allora il mio problema è il seguente:

    Se metto

    codice:
    nomi.add(Nome[i])
    i duplicati vengono rimossi però mi viene aperta tante volte la finestra contente la tabella con i dati quante sono le righe.
    Evidentemente se metto fuori nomi.add(Nome[i]) non mi vengono eliminati i duplicati e mi viene visualizzata solo una tabella. Come posso risolvere ciò?

    codice:
    for(int i=0;i<righe;i++){
        
    Nome[i]=op_.stampa_nome(i);
    
    
    nomi.add(Nome[i]);
    
    }
    
    
    
    
    rimuoviDuplicati(nomi);
            
    stampaLista(nomi);
    codice:
    public static void stampaLista(ArrayList<String> list) {
    
                   
    
    
            for(String s : list){
    
    //porzione di codice necessario per visualizzare la tabella funzionante
    
    
    }
    }
            
     
        public static void rimuoviDuplicati(ArrayList<String> list) {
            for(int i=0; i<list.size()-1; i++) {
                for(int j=i+1; j<list.size(); j++) {
                    if(list.get(i).equals(list.get(j)))
                        list.remove(j);
                }
            }

  8. #8
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Quote Originariamente inviata da signfra Visualizza il messaggio
    Allora il mio problema è il seguente:

    Se metto

    codice:
    nomi.add(Nome[i])
    i duplicati vengono rimossi però mi viene aperta tante volte la finestra contente la tabella con i dati quante sono le righe.
    Evidentemente se metto fuori nomi.add(Nome[i]) non mi vengono eliminati i duplicati e mi viene visualizzata solo una tabella. Come posso risolvere ciò?
    Non ho capito assolutamente nulla. Di quale finestra stai parlando? Non era un progetto per console? Oppure c'è anche una parte grafica? E la tabella, cosa sarebbe?

  9. #9
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Non ho capito assolutamente nulla. Di quale finestra stai parlando? Non era un progetto per console? Oppure c'è anche una parte grafica? E la tabella, cosa sarebbe?
    Risolto da solo
    Ultima modifica di deleted_2024.08.22; 07-06-2014 a 22:26

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.