Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Passare gli array a doppio indice ai metodi si java


    Scrivere un programma per la creazione di un mappa di altezza attraverso la stampa
    casuale di numeri da 0 a 4 in una matrice 10 x 10. Dopodiché trovare le aree che contengono 4 cifre uguali (ad esempio quella indicata) e stampare le coordinate della cella in alto a sinistra. (Si consiglia di visualizzare la mappa per verifica).
    1 3 2 0 3 1 3 1 0 2
    3 3 2 1 3 2 3 3 1 2
    4 3 1 3 3 0 3 2 3 1
    1 0 4 3 2 2 2 2 3 4
    2 3 2 0 4 2 4 1 0 2
    2 3 0 3 3 3 3 2 3 0
    0 1 2 0 2 2 2 2 0 2<
    2 3 3 3 1 4 2 2 3 3
    2 3 1 3 0 0 0 2 3 1
    3 1 3 3 2 2 2 1 3 3

    Guardate il gruppo di 2 che ha indice a[6][6]in questo esempio, io dovrei individuare questi gruppi.



    import java.awt.*;
    import javax.swing.*;

    public class TrovaNumeri extends JApplet {
    int a [][];
    JTextArea outputArea;
    String output;


    public void init()

    {

    outputArea = new JTextArea ();
    outputArea.setEditable(false);
    Container c = getContentPane ();
    c.add ( outputArea );

    a = new int [10] [10];
    for ( int i = 0; i < a.length; i++ )
    for ( int j = 0; j < a [i].length; j++ )
    a [i] [j] = ( int ) ( Math.random() * 5 );

    Trova(a);
    outputArea.append ( output );
    }


    public void Trova ( int b [][] )
    {

    for ( int i = 0; i < a.length; i++ )
    for ( int j = 0; j < a [i].length; j++ )
    if (( a[i] [j] == a[i+1] [j]) && ( a[i] [j] == a[i] [j+1] )
    &&( a[i+1] [j] == a[i+1] [j+1]))

    Stampa ( i,j );

    }


    public void Stampa ( int x, int y)
    {
    output +="\n" + " Le coordinate sono " + "\n";
    output +=" " + x + y + " ";

    outputArea.setText ( output );
    }
    }

    Questa è una bozza del programma che ho fatto e modificato centinaia di volte, xkè nn mi inizializza l'applet?;
    Perchè se dichiaro il metodo trova di tipo int, mi da errore.
    Cosi nn posso eseguire i return che vorrei e magari fare degli altri metodi più semplici.
    Aiuto!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    4

    info

    scusa ho visto che hai scritto una domanda sul java.. mi pare che ci capisca tu piu di me.. non è che sapresti dirmi che cosa scrivo per creare da una stringa una nuova stringa che contenga sempre il suo ultimo carattere? cioe se io do una nuova stringa cane la seconda stringa sara e , ma se do una stringa ingegner la seconda stringa è r... mi faresti sapere ? graxie

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    L'applet non viene inizializzata perche' c'e' un errore:
    codice:
    for ( int i = 0; i < a.length; i++ ) 
       for ( int j = 0; j < a [i].length; j++ ) 
          if (( a[i] [j] == a[i+1] [j]) && ( a[i] [j] == a[i] [j+1] ) 
             &&( a[i+1] [j] == a[i+1] [j+1]))
    Nel ciclo accedi all'indice i+1 e j+1, quando i e/o j assumono il valore massimo (a.length e a[i].length) cerchi di leggere un elemento fuori dal range dell'array, il programma lancia un'eccezione e si blocca.
    Imposta i limiti superiori dei cicli a length -1 e non ti da problemi.
    Ciao,
    Lorenzo

  4. #4

    Grazie

    Grazie Lorenzo adesso tutto a posto funziona perfettamente mi hai eliminato un grosso problema....

  5. #5

    x enigmao

    Scusa ma nn è che habbia capito molto bene cosa vuoi fare ed inoltre sto cominciando adesso a studiare le stringhe ed i caratteri in java,
    se il problema è imminente mi spiace nn posso aiutarti, ma se hai un pò di pazienza spero di poterti dare una risposta nei prossimi tre giorni...

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.