Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-06-2015, 17:25   #1
marcoqwertyuiop
Junior Member
 
Iscritto dal: May 2015
Messaggi: 26
[JAVA] Eccezioni

Salve, vorrei capire perchè questo codice non mi visualizza il messaggio ERRORE che ha sull'eccezione se si tenta di accedere ad un elemento che non è nell'array.

Codice HTML:
class Prova {
	public static void main(String[] args) {
		String[] dati = new String[10];
		System.out.println(dati[11]);
	}
	static void stampaArray(String[] dati) {
		try {
			for (int i = 0; i < 10; i++) {
				System.out.println(dati[i]);
			}
		} catch (ArrayIndexOutOfBoundsException exc) {
			System.out.println("ERRORE");
		}
		System.out.println("fine");
	}
}
marcoqwertyuiop è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2015, 17:52   #2
[Kendall]
Senior Member
 
L'Avatar di [Kendall]
 
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
Quote:
Originariamente inviato da marcoqwertyuiop Guarda i messaggi
Salve, vorrei capire perchè questo codice non mi visualizza il messaggio ERRORE che ha sull'eccezione se si tenta di accedere ad un elemento che non è nell'array.

Codice HTML:
class Prova {
	public static void main(String[] args) {
		String[] dati = new String[10];
		System.out.println(dati[11]);
	}
	static void stampaArray(String[] dati) {
		try {
			for (int i = 0; i < 10; i++) {
				System.out.println(dati[i]);
			}
		} catch (ArrayIndexOutOfBoundsException exc) {
			System.out.println("ERRORE");
		}
		System.out.println("fine");
	}
}

In questo codice stai facendo due errori.
Il primo è quello di creare un array di stringhe senza inizializzarle.

Con il codice
Codice:
String[] dati = new String[10];
tu crei un array di stringhe. Cos'è un array in Java? Essenzialmente una sequenza di riferimenti (adiacenti in memoria) a degli oggetti di tipo String. Se tu però non assegni una stringa a quei 10 riferimento loro "punteranno" sempre e solo a null (cioè a nessun oggetto).
Se nel tuo caso vai a stampare uno ad uno gli elementi di quell'array
Codice:
for (String item: dati) {
      System.out.println(item);
}
vedrai che la console ti stamperà a schermo 10 volte "null".

Il secondo errore riguarda il fatto che il metodo che hai scritto, dove intercetti l'eccezione di tipo ArrayIndexOutOfBoundsException, non vai poi a usarlo nel tuo metodo main, dove invece usi un semplice System.out.println.
Tra l'altro quel metodo statico è scritto in una maniera un po' bizzarra e decisamente errata.
Se vuoi semplicemente fare delle prove riguardo all'intercettare eccezioni ti conviene farlo direttamente sul metodo main.

es°
Codice:
public static void main(String[] args) {
    String[] array = new String[10];
    try {
        System.out.println(array[10]);
    } catch (ArrayIndexOutOfBoundsException exc) {
        System.out.println("ERRORE");
    }
}
[Kendall] è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2015, 19:12   #3
marcoqwertyuiop
Junior Member
 
Iscritto dal: May 2015
Messaggi: 26
Ok, grazie.
marcoqwertyuiop è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Dopo quasi 30 anni, l'originale Thief di...
ASML è l'azienda più prezi...
Microsoft conferma che Gears of War: E-D...
All'Xbox Games Showcase 2026, Metro 2039...
Il prossimo pieghevole di Vivo si svela ...
Meta ammette la falla IA su Instagram: v...
Bloober Team porta l'horror psicologico ...
L'IA sta prosciugando le riserve idriche...
Europa spaccata in due: Italia e Germani...
TOP 10 offerte Amazon del lunedì:...
State of Decay 3: trailer, data e la mos...
Iconico ed elegante: Samsung Galaxy S26 ...
Cybersecurity a misura di PMI: le soluzi...
Microsoft svela una speciale Xbox Series...
Perché l'IA agentica è la vera intellige...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v