Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da main_001 Visualizza il messaggio
    Vorrei porvi il seguente quesito sperando di avvicinarmi sempre di più alla risoluzione del mio problema. Data la seguente tabella di esempio:
    hello I have the following question to ask yourself. Given the following table
    { 22 pp 22
    22.00 0.2
    0.2 kk ; }


    come faccio a dire valutare scandendo righe e colonne con un for, che nella posizione [2][1] ho un numero (e non un carattere o uno spazio vuoto?)
    Grazie in anticipo a chi mi aiuterà nel mio dubbio!
    Ma cosa cambia rispetto a quanto ti avevamo detto ieri nell'altra discussione?

    Non penso che sia un problema scrivere il ciclo for e prendere ogni elemento della matrice, se poi hai capito come usare l'operatore instanceof il problema non sussiste...

    Ci vuole davvero un attimo a buttare giù qualche riga per fare il ciclo, ma è davvero meglio per te se provi a farlo tu, e se non ti viene giusto vieni qui postando il codice, e si cerca di risolvere il problema...

    Dico sul serio, non ti faremmo un favore a scriverti noi il codice...

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    47
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Ma cosa cambia rispetto a quanto ti avevamo detto ieri nell'altra discussione?

    Non penso che sia un problema scrivere il ciclo for e prendere ogni elemento della matrice, se poi hai capito come usare l'operatore instanceof il problema non sussiste...

    Ci vuole davvero un attimo a buttare giù qualche riga per fare il ciclo, ma è davvero meglio per te se provi a farlo tu, e se non ti viene giusto vieni qui postando il codice, e si cerca di risolvere il problema...

    Dico sul serio, non ti faremmo un favore a scriverti noi il codice...

    No assolutamente voglio imparare
    ti posto il mio codice

    Object a[][]=new Object[10][10];
    int i, j;


    for(i=0; i<=9; i=i+1) {
    for(j=0; j<=9; j=j+1) {
    a[i][j]=0;
    }
    }


    a[3][5]= "pp";
    a[9][9]= "kk";
    for(i=0; i<=9; i=i+1) {
    for(j=0; j<=9; j=j+1) {

    if ( a[i][j] instanceof Object ){
    System.out.println("si ob");

    }
    else if (a[i][j] instanceof Double){
    System.out.println("si double");
    }
    else if (a[i][j]instanceof Float){
    System.out.println("si float");
    }

    else
    System.out.println("nessuno dei precedenti");
    }
    }


    for(i=0; i<=9; i=i+1) {
    for(j=0; j<=9; j=j+1) {

    System.out.print(a[i][j]+" ");
    }
    System.out.println("");
    }
    }

    il problema è che mi valuta il tipo della matrice e non il contenuto... Cosa sbaglio?

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da main_001 Visualizza il messaggio
    il problema è che mi valuta il tipo della matrice e non il contenuto... Cosa sbaglio?
    Il punto è che a[i][j] instanceof Object è sempre true, perché tutti gli oggetti passano il test "è-un" Object
    E siccome questo test lo fai prima di testare altri tipi specifici ..... negli altri non ci passa.


    P.S. posta codice tra i tag CODE
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    47
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Il punto è che a[i][j] instanceof Object è sempre true, perché tutti gli oggetti passano il test "è-un" Object
    E siccome questo test lo fai prima di testare altri tipi specifici ..... negli altri non ci passa.


    P.S. posta codice tra i tag CODE
    Grazie per la risposta e la prossima volta utilizzerò il formato corretto per postare il codice.
    Se commento le righe relative a instanceof Object mi stampa direttamente nessuno dei precedenti.
    Come faccio a risolvere il mio problema?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da main_001 Visualizza il messaggio
    Se commento le righe relative a instanceof Object mi stampa direttamente nessuno dei precedenti.
    Scusa ma hai inserito tutti

    a[i][j]=0;

    (0 = int --> Integer)

    e poi 2 stringhe

    a[3][5]= "pp";
    a[9][9]= "kk";


    Nessuna di queste cose è un Float o Double che tu vai a testare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    47
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa ma hai inserito tutti

    a[i][j]=0;

    (0 = int --> Integer)

    e poi 2 stringhe

    a[3][5]= "pp";
    a[9][9]= "kk";


    Nessuna di queste cose è un Float o Double che tu vai a testare.
    Giusta osservazione infatti ho modificato il codice e ti chiedo un altro po di pazienza al fine di arrivare alla soluzione. Adesso ho modificato il codice e mi stampa sono gli integer ma non gli altri. Quali altri errori di distrazione e ignoranza ho commesso??

    codice:
    import java.util.* ; 
    public class SommaMatrice {
    	public static void main(String[] args) {
    		Object a[][]=new Object[10][10];
    	    int i, j;
    
    
    	    for(i=0; i<=9; i=i+1) {
    	      for(j=0; j<=9; j=j+1) {
    	        a[i][j]=0;
    	      }
    	    }
    
    
    	    a[3][5]= "10.10";
    	    a[9][9]= "kk";
    	    for(i=0; i<=9; i=i+1) {
    		      for(j=0; j<=9; j=j+1) {
    		    	 
    	    if ( a[i][j] instanceof Integer ){
    			System.out.println("si integer");
    			
    		}
    		if (a[i][j] instanceof Character){
    			System.out.println("si double");									
    		}
    		else if (a[i][j]instanceof Double){
    			System.out.println("si double");
    		}
    		
    		else 
    			System.out.println("nessuno dei precedenti");
    		      }
    		     }
    
    
    	    for(i=0; i<=9; i=i+1) {
    	      for(j=0; j<=9; j=j+1) {
    	    	
    	        System.out.print(a[i][j]+" ");
    	      }
    	      System.out.println("");
    	    }
    	  }
    }

Tag per questa discussione

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