|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
[Java]ArrayOutOfBoundsException
ciao a tutti, dal titolo si comprende tutto...il programma mi da quel errore li..e non capisco il perchè....
Codice:
public class Cento_numeri_pari
{
public static void main(String[] args)
{
int cont=0;
int vet[]=new int[100];
int i=0;
for(i=0; cont<100; i++)
{
if(i%2==0)
{
vet[i]=i;
cont++;
}
}
for(i=0; i<100; i++)
{
System.out.println("valore: "+vet[i]);
}
}
}
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
Codice:
public class Cento_numeri_pari
{
public static void main(String[] args)
{
int cont=0;
int vet[]=new int[100];
int i=0;
for(i=0; cont<100; i++)
{
if(i%2==0)
{
vet[cont]=i;
cont++;
}
}
for(i=0; i<100; i++)
{
System.out.println("valore: "+vet[i]);
}
}
}
Però non capisco cosa vorresti ottenere.... mi sa che si può scrivere in maniera migliore. Fai un pò di confuzione con gli iteratori e i loro indici, magari datti una riguardata ai cicli for. |
|
|
|
|
|
#3 | |
|
Messaggi: n/a
|
Quote:
Prima dichiari a 0 una variabile cont, poi la metti nel ciclo FOR e verifichi che sia meno di 100 ma la incrementi solo se nell'IF interno ti viene restituito un numero pari. Insomma che voi fà? |
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
pensa che volgia recuperare 100 numeri pari.....
poteva essere scritto molto meglio. il suo codice è chiaramente sbagliato, mi sono limitato a correggerlo e infatto l'ho provato e funziona ma di per se poteva essere scritto meglio. |
|
|
|
|
|
#5 |
|
Messaggi: n/a
|
Codice:
public static void main(String[] args) {
int[] vect = new int[100];
int counter = 0;
int i = 1;
while (counter < 100) {
if (i % 2 == 0) {
vect[counter] = i;
counter++;
System.out.println(i);
}
i++;
}
}
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
appunto.....
cvd |
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
Quote:
|
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
Quote:
Cmq il problema non stava nell'usare const anzichè i, stava in Codice:
vet[i]=i; eh eh eh..... |
|
|
|
|
|
|
#9 | ||
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
Quote:
|
||
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
no, lui voleva fare un array contenente 100 numeri pari e l'hai chiamato vet
ha usato una variabile cont per contare quanti ne aveva trovati.... quindi è giusto che il for utilizzi quella per fermare il ciclo... se avesse fatto come dici tu, cioè di mettere i anzichè cont nel ciclo for non solo non avrebbe trovato i 100 numeri pari, ma avrebbe riempito l'array vett con dei buchi... Quindi con la soluzione che hai espesto tu eliminava l'eccezzione ma non funzionava più l'argoritmo. invece mettendo vet[cont]=i; risolveva l'eccezzione, riempiva correttamente l'array e trovava i suoi 100 numeri pari. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
p.s. bellissimi i giochini. Sei senza dubbio molto preparato, ma può capitare a tutti di dare una soluzione che magari non è proprio la migliore in assoluto.
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
A dire il vero è pressoché inutile utilizzare il contatore ed il modulo... I numeri pari sono tutti i multipli di 2, per cui basta una sola variabile:
Codice:
int v[100];
for (int i = 0; i < 100; ++i) {
v[i] = (2 * i);
}
Il codice più semplice è sempre il migliore.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
infatti sono daccordo con DanieleC88...
Come ho scritto nel secondo post si può scrivere molto meglio.... fattostà che per correggere il suo codice senza cambiarlo la soluzione era nell'indice dell'array vet.... Questo mi sembra chiaro... |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
Volevo provare il gioco di fero86 del volley ma l'applet java mi da questo errore appena entro...
java.lang.NoClassDefFoundError: javax/media/opengl/awt/GLCanvas at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: javax.media.opengl.awt.GLCanvas at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 23 more java.lang.NoClassDefFoundError: javax/media/opengl/awt/GLCanvas at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: javax.media.opengl.awt.GLCanvas at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) mi manca qualcosa???? |
|
|
|
|
|
#15 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
Ciao a tutti, vi ringrazio per il vostro aiuto...
comunque si, era un piccolo esercizio per trovare i primi cento numeri pari... qua sotto ho fatto un piccolo programma che fa i primi dieci...è una stronzata... Codice:
int i=0, c=0;
int vet[]=new int[10];
for(i=0,c=0; c<10;i=i+2,c++)
vet[c]=i;
for(i=0;i<10;i++)
System.out.println(""+vet[i]);
grazie mille...
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
|
|
|
|
|
#16 | |
|
Messaggi: n/a
|
Quote:
E altresì ovvio infatti che l'utilità di trovare i primi 100 numeri pari sia pressochè nulla. Ultima modifica di anonimizzato : 12-08-2010 alle 16:08. |
|
|
|
|
#17 |
|
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
sisi è vero, sto imparando Java, arrivo dal c, c++ e anche php, devo solo riprendere l'allenamento!!!
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:13.




















