Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Aiutooooooo

  1. #1

    Aiutooooooo

    Il programma di java che ho creato simula una scacchiera 8x8 e se la posizione dove è la pedina è vuota, mi da false ,altrimenti mi da true....Sto creando un metodo che mi dica se c'è almeno 2 pedina in una colonna o riga...
    nell'esecuzione mi da un errore :Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2....
    di seguito allego il sorgente



    public class scacchiera{
    static boolean cercapedina(boolean [][] s){
    //dichiarazione variabili inerenti al corpo del metodo
    int contatorerighe = 0;
    int contatorecolonne = 0;
    //i cicli che scandiscono le righe della matrice
    for (int i = 0; i < s.length; i++){ //scandisce righe
    for (int j = 0; j < s[0].length; j++) //scandisce elementi riga i
    if (s[i][j] == true) contatorerighe += 1;
    }
    //i cicli che scandiscono le colonne della matrice dopo azzeramento contatore
    for (int j = 0; j < s[0].length; j++){ //scandisce le colonne
    for (int i = 0; i<s.length; i++) //scandisce elementi colonne
    if (s[j][i] == true) contatorecolonne += 1;
    }
    return (contatorerighe >= 2)||(contatorecolonne >= 2);
    }

    public static void main (String[] args){
    boolean [][] A = { {true, true}, {true, true}, {true, true}, {true, true},
    {true, true}, {true, true}, {true, true}, {true, true}};

    if (cercapedina(A)== true)
    System.out.println("bravo ci sei riuscito");
    else
    if (cercapedina(A) == false)
    System.out.println("ritenta sarai + fortunato");
    }
    }



    Grazie in anticipo
    Il computer è spettacolarmente veloce, accurato e stupido.....L'uomo è spettacolarmente lento, inaccurato e intelligente.Insieme formano una potenza oltre l'immaginazione

  2. #2
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Benvenuto sul forum, visto che sei nuovo ti consiglio di leggerti il regolamento, perchè se lo avessi fatto avresti saputo che non è permesso usare titoli generici come il tuo.

    Venendo al tuo problema è utile, per capire quale sia l'errore, leggere la documentazione della classe ArrayIndexOutOfBoundsException, di cui ti posto una parte di seguito:

    Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array.
    Se hai padronanza di un minimo di inglese sai quello che significa, altrimenti te lo riassumo... questa classe è lanciata per indicare che è stato effettuato un accesso ad un array con un indice illegale, ovvero negativo o maggiore della lunghezza dell'array stesso.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Pacio88
    Benvenuto sul forum, visto che sei nuovo ti consiglio di leggerti il regolamento, perchè se lo avessi fatto avresti saputo che non è permesso usare titoli generici come il tuo.
    E ti saresti evitato una chiusura della discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.