Pages: [1]   Go Down
Print
Author Topic: Esercizi Prova Laboratorio  (Read 1157 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« on: 20-06-2009, 12:10:50 »

Ragazzi ho scaricato una prova esempio dal sito del prof,mi sono fotocopiato la prova di aprile e del 2febbraio e le ho risolte(certo quella esempio del prof non capisco perchè mi da 2valori giusti e 1 no però va bene lo stesso)conoscete altri posti dove posso prendere altre prove?perchè diciamo che non le ho risolte proprio in 1ora quindi vorrei continuare ad esercitarmi!!!
Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
Fr3d3R!K
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.463



« Reply #1 on: 20-06-2009, 12:17:19 »

in giro per il forum (vecchio e nuovo), oppure in fotocopisteria.
questo è il vecchio forum.
Saluti.
Logged

Search Button, CODE Tag, Google & Italian language are your friends! Use Them!
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« Reply #2 on: 20-06-2009, 13:28:41 »

Grazie. Proverò a cercare nel vecchio forum.
Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
pippo
Apprendista Forumista
**
Offline Offline

Posts: 150



« Reply #3 on: 22-06-2009, 11:11:14 »

soeca ciao, potresto postare la prova laboratorio di aprile...?? grazie ciao
Logged
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« Reply #4 on: 22-06-2009, 11:25:38 »

Sorry errore mio non ho quella di aprile ma ho quella di marzo precisamente quella del 02/03/09
Piuttosto ho svolto l'esercizio non mi da problemi di compilazione però vado ad eseguirlo e.........diciamo che i risultati che ottengo riguardo la somma delle componenti di indice 13 non sono proprio identici a quelli che vuole il prof(dovrebbe risultare 47557 ma a me risulta 44642 )....questo è il codice:
Code:
import java.util.*;
abstract class A
{
private int x;
public A(int x)
{
this.x=x;
}
abstract public int [] f();
}
abstract class B extends A
{
private int w;
private E e;
public B(int x, int w, double d)
{
super (x);
this.w=w;
e=new E(d);
}
public float alfa()
{
return (float)(w+e.getCoeff());
}
}
class C extends A
{
private int z;
public C(int x, int z)
{
super(x);
this.z=z;
}
public int [] f()
{
Random r=new Random(22446688);
int [] a = new int[100];
for(int i=0;i<a.length;i++)
{
a[i]=z+r.nextInt(1000);
}
return a;
}
}
class D extends B
{
public D (int x,int w, double d)
{
super(x,w,d);
}
public int [] f()
{
Random r= new Random(22446688);
int [] b = new int[100];
int temp=0;
for(int i=0;i<b.length;i++)
{
b[i]=r.nextInt(400);
for(int j=i+1;j<b.length-1;j++)
{
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
return b;
}
}
class E
{
private float coeff;
public E (double c)
{
coeff=(float)c;
}
public double getCoeff()
{
return (double)coeff;
}
}
public class eserciziodimarzodilaboratorio
{
public static void main(String args[])
{
Random r= new Random (2245544);
A [] vett = new A[100];
for(int i=0;i<vett.length;i++)
{
int x=r.nextInt(10);
int y=r.nextInt(100);
double d=r.nextDouble()*40;
if(r.nextInt(2)==1)
vett[i] = new C(x,y);
else
vett[i] = new D(x,y,d);
}
//Inizio richieste

//Prima richiesta
int somma=0;
for(int i=0;i<vett.length;i++)
somma+=vett[i].f()[13];
System.out.println("la somma delle componenti di indice 13 e':"+somma);
//Fine prima richiesta

//Seconda richiesta
float max=0;
for(int i=0;i<vett.length;i++)
{
if(vett[i] instanceof B )
if(((B)vett[i]).alfa()>max)
max=((B)vett[i]).alfa();
}
System.out.println("il max valore di alfa() e':"+max);
}
}
Qualcuno mi potrebbe aiutare a capire il motivo??Grazie
« Last Edit: 22-06-2009, 11:41:20 by soeca » Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
dani89
Apprendista Forumista
**
Offline Offline

Posts: 254



« Reply #5 on: 22-06-2009, 19:22:13 »

questo comando è sbagliato: somma+=vett.f()[13];
il metodo f() restituisce un array per ogni locazione di vett, per cui devi scrivere:
Code:
for (int i=0;i<vett.length;i++)
{
int[]rif=vett[i].f();
for (int j=0;j<rif.length;j++)
{
if (j==13)
somma+=rif[j];
}
                }
in questo modo controlli solo la 13 posizione di ogni array che crei per ogni locazione di vett, spero di essere stato chiaro
Logged
Pages: [1]   Go Up
Print
Jump to: