Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232

    carattere finale colonna

    in pratica devo trovare se in una colonna esistono tre stringhe cn lo stesso carattere finale
    ps. la matrice è frastagliata
    codice:
    public static boolean metodo(String[][]A){
    	int cont=0;
    	int max=0;
    	for(int x=0; x<A.length; x++){
    	   if(A[x].length>max)
    		max=A[x].length;
    	}
    	for(int j=0; j<max; j++){
    		for(int i=0; i<A.length; i++){
    			cont=1;
    			if(j<A[i].length)
    			for(int k=i+1; k<A[i].length; k++){
    					
    			if(j<A[k].length) {
    		 //System.out.println(A[i][j].charAt(A[i][j].length()-1)+" ");
    		 //System.out.println(A[k][j].charAt(A[k][j].length()-1) + "\n");
    					
    	 if(A[i][j].charAt(A[i][j].length()-1) == A[k][j].charAt(A[k][j].length()-1))
    				cont++;
    			     if(cont==3)   return true;
    				       }    
    				}
    			}
    		}
    return false;
    Il dubbio che ho credo che nn stampi tutte le coppie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa in quale colonna cerchi??
    vuoi che lo stesso carattere finale sia alla colonna 0, 1..o l'ultima?

    secondo, noto quello il controllo se sei sulla colonna giusta fallo per == , per sapere se una stringa finisce per un'altra nota usa
    stringa1.endsWith(stringa);

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232
    Originariamente inviato da valia
    scusa in quale colonna cerchi??
    vuoi che lo stesso carattere finale sia alla colonna 0, 1..o l'ultima?
    In pratica qst metodo mi deve tonare un boolean che indichi se esiste in A una colonna contenente tre stringhe con lo stesso carattere finale.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    metti tutto il testo dell'esercizio, detta cosi con l'array frastagliato ho l'impressione che ti complichi la vita

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232
    xD ok
    codice:
    /*Scrivere un metodo che prenda in input un array bidimenzionale frastagliato A di stringhe, e restituisca un boolean che
    indichi se esiste in A una colonna contenente tre stringhe con lo stesso carattere finale.*/
    public class ese2{
    	public static boolean metodo(String[][]A){
    		int cont=0;
    		
    		for(int j=0; j<A[0].length; j++){
    			for(int i=0; i<A.length; i++){
    				cont=1;
    				if(j<A[i].length)
    			//	System.out.println(A[i][j].charAt(A[i][j].length()-1));
                                        
    				for(int k=i+1; k<A[i].length; k++){
    					
    					if(j<A[k].length) 
    					{
    					//    System.out.println(A[i][j].charAt(A[i][j].length()-1)+" ");
    					//    System.out.println(A[k][j].charAt(A[k][j].length()-1) + "\n");
    					
    					     if(A[i][j].charAt(A[i][j].length()-1) == A[k][j].charAt(A[k][j].length()-1))
    						cont++;
    					     if(cont==3)   return true;
    				       }    
    				}
    			}
    		}
    		return false;
    	}
    	public static void Stampa(String[][]v){
    		for(int x=0; x<v.length; x++){
    			for(int y=0; y<v[x].length; y++)
    			System.out.print(v[x][y]+" ");
    			System.out.println("");
    		}
    	}
    	public static void main(String[]args){
    		String [][]A={{"casa", "cielo", "mare","settembre", "ottobbre"},
    		                    {"msi" , "notebook"},
    				    {"esenumero2", "TNT"},
    				    {"febbraio", "marzo", "Aprile"},
    				      {"agosto"}};
    		Stampa(A);
    			boolean out=metodo(A);
    			    System.out.println(out);
    			    }
    		    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ok letto.
    Devi lavorare per colonna, cioè secondo me fai prima se tu fai un lavoretto del genere

    1. crei una matrice non frastagliata, in cui riporti l'array frastagliato che hai. Nei casi in cui non hai un elemento nell'array di partenza metti null.
    2. lavori a questo punto per colonne, cioè fai il ciclo esterno per colonna (selezioni una colonna) e il ciclo interno per righe mettendo il tuo controllo

    secondo me è più semplice così, poi magari qualcuno più esperto di me sa aiutarti meglio

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232
    insomma il codice che ho scritto sembra più facile xD credo che la cosa sia più semplice di quanto possa essere la tua idea nn è cattiva però ci sn tanti giri da fare xD

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    lo so, ma inizi a perderti sul controllo da fare sulla dimensione
    Io sono per il codice pratico e semplice e se devi tenere conto della dimensione di ogni colonna impazzisci

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    comunque il ciclo esterno devi farlo per colonna non per riga

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232
    ora provo se ci sn novità posto il codice!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.