Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: simOne_fLuo on 24-02-2009, 18:33:19



Title: HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 18:33:19
ragazzi scusate sono in mezzo a 1 strada ne sono conspevole purtroppo.. :-)| :-)|
cmq sto cercando di fare il programma di cincotti ke ha postato nel suo sito.. e mi da questi errori:

>javac lab1.java
lab1.java:9: '{' expected
class B extend A{
        ^
lab1.java:24: '{' expected
class C extend B{
        ^
lab1.java:47: '}' expected
^
3 errors
>Exit code: 1

il codice scritto è:
Code:
abstract class A{
protected int x;
public A(int _x){
x=_x;
}
abstract public int f();
}
class B extend A{
protected int y;
private D d;
public B(int _x, int _y, double _z){
d=new D(z);
y=_y;
super(x);
}
public int f(){
return x^2;
}
public int f(D){
return (int)(z+_d.getZ());
}
}
class C extend B{
public C(int _x, int _y, double _z){
super(x,y,z);
}
public int f(){
return 7*y;
}
}
 import java.util.Random;
public class lab1
  {
public static void main (String[] args){
Random r = new Random (6353433);
A [] vett = new A [100];
for (int i=0; i<vett.length; i++) {
int x = r.nextInt(10);
int y = r.nextInt(100);
int z = r.nextInt(30);
if (r.nextInt(2)==1) vett[i] = new B(x, y, z);
else vett[i] = new C(x, y, z);
}
}
}


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 18:36:27
extends e non extend


Title: Re:HEELP ME!! prova lab.
Post by: zElOtO on 24-02-2009, 18:39:32
Uh..ci sono parecchi errori..quelli visibili:
1) Classe B

Non
Code:
class B extend A {

Ma
Code:
class B extends A {



Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 18:42:38
grazie ragazzi qst sistemati.. e mi ero scordato anke la classe D.. adesso sistemato e mi da questi:

lab1.java:20: <identifier> expected
   public int f(D){
                      ^
lab1.java:23: ')' expected
   }
        ^
lab1.java:41: 'class' or 'interface' expected
import java.util.Random;
^
3 errors

codice:

Code:
abstract class A{
protected int x;
public A(int _x){
x=_x;
}
abstract public int f();
}
class B extends A{
protected int y;
private D d;
public B(int _x, int _y, double _z){
d=new D(z);
y=_y;
super(x);
}
public int f(){
return x^2;
}
public int f(D){
return (int)(z+_d.getZ());
}
}
class C extends B{
public C(int _x, int _y, double _z){
super(x,y,z);
}
public int f(){
return 7*y;
}
}
public class D{
private double z;
public D(double _z){
z=_z;
       }
public double getZ(){
return z;
}
}
import java.util.Random;
public class lab1
  {
public static void main (String[] args){
Random r = new Random (6353433);
A [] vett = new A [100];
for (int i=0; i<vett.length; i++) {
int x = r.nextInt(10);
int y = r.nextInt(100);
int z = r.nextInt(30);
if (r.nextInt(2)==1) vett[i] = new B(x, y, z);
else vett[i] = new C(x, y, z);
}
}
}


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 18:46:19
D è una classe...devi mettere anche il nome della variabile...cioè del parametro passato dal main (in questo momento mi sfugge il nome...)
....f(D d){...
Prima il tipo dopo il nome


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 18:48:01
Altro errore...
return x^2;
Non vorrei sbagliarmi ma è sbagliato...nn è scritto in java...scrivi x*x oppure usa il Math.pow


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 18:50:25
D è una classe...devi mettere anche il nome della variabile...cioè del parametro passato dal main (in questo momento mi sfugge il nome...)
....f(D d){...
Prima il tipo dopo il nome
grazie manna.. adesso mi manca l'ultimo ke è rimasto...

lab1.java:41: 'class' or 'interface' expected
import java.util.Random;

che si riferisce a:

import java.util.Random;


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 18:51:08
Altro consiglio...lo dico x esperienza personale...evita di usare i numeri nei nomi delle classi...a me ha dato problemi in compilazione...magari li da solo a me ma sai com'è...
(In questo caso io avrei chiamato la classe lab e non lab1)


Title: Re:HEELP ME!! prova lab.
Post by: Acicatena86 on 24-02-2009, 18:51:30
Code:

public int f(){
return x^2;
}

.huh .huh .huh .huh

Scusatemi , ma non posso fare a meno di ...  :-)| :-)| :-)| :-)| .nono .nono .nono :[Emoticon] Turpiloquio Asd: :[Emoticon] Turpiloquio Asd:


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 18:53:07
Code:

public int f(){
return x^2;
}

.huh .huh .huh .huh

Scusatemi , ma non posso fare a meno di ...  :-)| :-)| :-)| :-)| .nono .nono .nono :[Emoticon] Turpiloquio Asd: :[Emoticon] Turpiloquio Asd:

ma che ne so abituato col C..xD
cmq sn in alto mare.. :-)|


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 18:54:01
Code:

public int f(){
return x^2;
}

.huh .huh .huh .huh

Scusatemi , ma non posso fare a meno di ...  :-)| :-)| :-)| :-)| .nono .nono .nono :[Emoticon] Turpiloquio Asd: :[Emoticon] Turpiloquio Asd:

Beh...le sviste capitano...nn è che siamo tutti perfetti
Cmq l'import prova a metterlo come prima riga...fuori da tutte le classi e vedi come va...xkè è scritto giusto
import java.util.Random;


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 18:57:21
NOOO DISASTROO..ragazzi quando sembrava che era l'ultimo ne sono spuntati 1000.. :-)| :-)|

sono questi..:

lab.java:32: class D is public, should be declared in a file named D.java
public class D{
       ^
lab.java:12: cannot find symbol
symbol  : constructor A()
location: class A
   public B(int _x, int _y, double _z){
                                           ^
lab.java:13: cannot find symbol
symbol  : variable z
location: class B
      d=new D(z);
                        ^
lab.java:15: call to super must be first statement in constructor
      super(x);
                     ^
lab.java:21: cannot find symbol
symbol  : variable z
location: class B
      return (int)(z+_d.getZ());
                             ^
lab.java:21: cannot find symbol
symbol  : variable _d
location: class B
      return (int)(z+_d.getZ());
                               ^
lab.java:21: inconvertible types
found   : java.lang.String
required: int
      return (int)(z+_d.getZ());
                            ^
lab.java:26: cannot reference x before supertype constructor has been called
      super(x,y,z);
                      ^
lab.java:26: cannot reference y before supertype constructor has been called
      super(x,y,z);
                        ^
lab.java:26: cannot find symbol
symbol  : variable z
location: class C
      super(x,y,z);
                          ^
10 errors


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 18:59:17
Ma questo compito qua è quello che ha dato cincotti? In caso posso postarti una soluzione e la confronti...


Title: Re:HEELP ME!! prova lab.
Post by: Acicatena86 on 24-02-2009, 19:00:01
NOOO DISASTROO..ragazzi quando sembrava che era l'ultimo ne sono spuntati 1000.. :-)| :-)|

sono questi..:

lab.java:32: class D is public, should be declared in a file named D.java
public class D{
       ^
lab.java:12: cannot find symbol
symbol  : constructor A()
location: class A
   public B(int _x, int _y, double _z){
                                           ^
lab.java:13: cannot find symbol
symbol  : variable z
location: class B
      d=new D(z);
                        ^
lab.java:15: call to super must be first statement in constructor
      super(x);
                     ^
lab.java:21: cannot find symbol
symbol  : variable z
location: class B
      return (int)(z+_d.getZ());
                             ^
lab.java:21: cannot find symbol
symbol  : variable _d
location: class B
      return (int)(z+_d.getZ());
                               ^
lab.java:21: inconvertible types
found   : java.lang.String
required: int
      return (int)(z+_d.getZ());
                            ^
lab.java:26: cannot reference x before supertype constructor has been called
      super(x,y,z);
                      ^
lab.java:26: cannot reference y before supertype constructor has been called
      super(x,y,z);
                        ^
lab.java:26: cannot find symbol
symbol  : variable z
location: class C
      super(x,y,z);
                          ^
10 errors

Una curiosità , hai creato tanti file.java , o hai messo tutto insieme??


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 19:01:02
Ma questo compito qua è quello che ha dato cincotti? In caso posso postarti una soluzione e la confronti...

sisi ok meglio..


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 19:01:52
Una curiosità , hai creato tanti file.java , o hai messo tutto insieme??

tutto insieme..

Code:
import java.util.Random;
abstract class A{
protected int x;
public A(int _x){
x=_x;
}
abstract public int f();
}
class B extends A{
protected int y;
private D d;
public B(int _x, int _y, double _z){
d=new D(z);
y=_y;
super(x);
}
public int f(){
return x*x;
}
public int f(D d){
return (int)(z+_d.getZ());
}
}
class C extends B{
public C(int _x, int _y, double _z){
super(x,y,z);
}
public int f(){
return 7*y;
}
}
public class D{
private double z;
public D(double _z){
z=_z;
       }
public double getZ(){
return z;
}
}
public class lab
  {
public static void main (String[] args){
Random r = new Random (6353433);
A [] vett = new A [100];
for (int i=0; i<vett.length; i++) {
int x = r.nextInt(10);
int y = r.nextInt(100);
int z = r.nextInt(30);
if (r.nextInt(2)==1) vett[i] = new B(x, y, z);
else vett[i] = new C(x, y, z);
}
}
}


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 19:03:28
Io ho messo tutto in file diversi ma nella stessa cartella. Inizio dal main:

import java.util.Random;
public class riprova{
   public static void main(String [] args){
      Random r=new Random(6353433);
      A[] vett=new A[100];
      for(int i=0;i<vett.length;i++){
         int x=r.nextInt(10);
         int y=r.nextInt(100);
         int z=r.nextInt(30);
         if(r.nextInt(2)==1) vett=new B(x,y,z);
            else vett=new C(x,y,z);
         }
      
      int somma=0;
      for(int i=0;i<vett.length;i++)
         somma+=vett.f();
      System.out.println(somma);
         
      somma=0;
      for(int i=0;i<vett.length;i++){
         D obj=new D(r.nextInt(47));
         somma+=((B)vett).f(obj);
         }
      System.out.println(somma);
         
      int cnt=0;
      for(int i=0;i<vett.length;i++)
         if(vett.getClass()==B.class) cnt++;
      System.out.println(cnt);
   }
}




public abstract class A{
   protected int x;
   
   public A(int _x){
      x=_x;
   }
   
   public abstract int f();
}





public class B extends A{
   protected int y;
   private D d;
   
   public B(int _x, int _y, double _z){
      super(_x);
      y=_y;
      d=new D(_z);
   }
   
   public int f(){
      return x*x;
   }
   
   public int f(D _d){
      return (int)(d.getZ()+_d.getZ());
   }
}





public class C extends B{
   
   public C(int _x, int _y, double _z){
      super(_x,_y,_z);
   }
   
   public int f(){
      return 7*y;
   }
}




public class D{
   private double z;
   
   public D(double _z){
      z=_z;
   }
   
   public double getZ(){
      return z;
   }
}


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 19:04:52
scusate ma mettere tutto insieme è un errore?? o si puo anke??


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 19:11:57
Si può anche...ma io ho avuto problemi...siccome preferisco l'altra strada solitamente metto in file divisi...nn dovrebbe cambiare nulla...solo che mi viene + facile da visualizzare e capire


Title: Re:HEELP ME!! prova lab.
Post by: Acicatena86 on 24-02-2009, 19:12:12
Una curiosità , hai creato tanti file.java , o hai messo tutto insieme??

tutto insieme..

Code:
import java.util.Random;
abstract class A{
protected int x;
public A(int _x){
x=_x;
}
abstract public int f();
}
class B extends A{
protected int y;
private D d;
public B(int _x, int _y, double _z){
d=new D(z);
y=_y;
super(x);
}
public int f(){
return x*x;
}
public int f(D d){
return (int)(z+_d.getZ());
}
}
class C extends B{
public C(int _x, int _y, double _z){
super(x,y,z);
}
public int f(){
return 7*y;
}
}
public class D{
private double z;
public D(double _z){
z=_z;
       }
public double getZ(){
return z;
}
}
public class lab
  {
public static void main (String[] args){
Random r = new Random (6353433);
A [] vett = new A [100];
for (int i=0; i<vett.length; i++) {
int x = r.nextInt(10);
int y = r.nextInt(100);
int z = r.nextInt(30);
if (r.nextInt(2)==1) vett[i] = new B(x, y, z);
else vett[i] = new C(x, y, z);
}
}
}

Consiglio MOLTO utile.
Metti ogni classe in un file separato , così ti risulterà più facile individuare gli errori


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 19:19:15
ragazzi ho separato i file.. e nella classe B:
Code:
class B extends A{
protected int y;
private D d;
public B(int _x, int _y, double _z){
d=new D(_z);
y=_y;
super(_x);
}
public int f(){
return x*x;
}
public int f(D _d){
return (int)(_z+_d.getZ());
}
}

mi da questi errori:

.\B.java:4: cannot find symbol
symbol  : constructor A()
location: class A
   public B(int _x, int _y, double _z){
                                           ^
.\B.java:7: call to super must be first statement in constructor
      super(_x);
                     ^
.\B.java:13: cannot find symbol
symbol  : variable _z
location: class B
      return (int)(_z+_d.getZ());
                             ^
.\B.java:13: inconvertible types
found   : <nulltype>
required: int
      return (int)(_z+_d.getZ());

ma intanto mi sembra corretta


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 19:47:22
ULTIMI 2 ERRORI(spero) NON CAPISCO CHE SONO:

B.java:4: cannot find symbol
symbol  : constructor A()
location: class A
   public B(int _x, int _y, double _z){
                                           ^
B.java:7: call to super must be first statement in constructor
      super(_x);
                     ^

Il codice è:
Code:
class B extends A{
protected int y;
private D d;
public B(int _x, int _y, double _z){
d=new D(_z);
y=_y;
super(_x);
}
public int f(){
return x*x;
}
public int f(D _d){
return ((int)(d.getZ()+_d.getZ()));
}
}


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 19:49:38
Il super va messo sempre come prima istruzione se no da errore in compilazione


Title: Re:HEELP ME!! prova lab.
Post by: Antoniods on 24-02-2009, 19:51:12
nel costruttore di B la prima cosa che devi fare è super(_x);


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 19:53:05
Il super va messo sempre come prima istruzione se no da errore in compilazione

grazie di tutto MANNA sei un grande...
e anke ad antoniods

cmq altri 2 sono spuntati..

lab.java:10: incompatible types
found   : B
required: A[]
         if(r.nextInt(2)==1) vett=new B(x,y,z);
                                                 ^
lab.java:11: incompatible types
found   : C
required: A[]
         else vett=new C(x,y,z);
                                  ^
vengono dal main.. ma non ho + il testo dell'esercizio.. quindi non so cosa non và..

ho solo questa parte:
Code:
import java.util.Random;
public class lab{
public static void main(String [] args){
Random r=new Random(6353433);
A[] vett=new A[100];
for(int i=0;i<vett.length;i++){
int x=r.nextInt(10);
int y=r.nextInt(100);
int z=r.nextInt(30);
if(r.nextInt(2)==1) vett=new B(x,y,z);
else vett=new C(x,y,z);
}
}
}


Title: Re:HEELP ME!! prova lab.
Post by: Antoniods on 24-02-2009, 19:54:02
Scusa Manna non avevo letto la tua risposta!!!! :-ciao


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 19:59:21
Figurati...basta che ci si aiuti...nn è che mi offendo se risponde anche qualcun'altro...cmq nell'esercizio chiede:
1)la somma dei valori restituiti da f()
2)la somma dei valori restituiti da f(obj) dove obj è un oggetto di volta in volta generato con il parametro casuale r.nextInt(47)
3)il numero di istanze di classe B


Title: Re:HEELP ME!! prova lab.
Post by: Antoniods on 24-02-2009, 20:11:12
Code:
class Lab
{
public static void main(String []args)
{
Random r = new Random (6353433);

A[] vett = new A[100];
       
for (int i = 0; i < vett.length; i++)
{
int x = r.nextInt(10);
//System.out.println(x);
int y = r.nextInt(100);
//System.out.println("   " + y);
int z = r.nextInt(30);
//System.out.println("         " + z);
if (r.nextInt(2) == 1)
{
vett[i] = new B(x, y, z);
}
else
{
vett[i] = new C(x, y, z);
}
}

//SOMMA DEI VALORI RESTITUITI DA f()--------------------------------------------

int contaF = 0;
for (int i = 0; i < vett.length; i++)
{
contaF += vett[i].f();
}

System.out.println(contaF);

//SOMMA DEI VALORI RESTITUITI DA f(obj)--------------------------------------------

int contaFobj = 0;

for (int i = 0; i < vett.length; i++)
{
D obj = new D(r.nextInt(47));
contaFobj += ((B)vett[i]).f(obj);
}

System.out.println(contaFobj);

//NUMERO DI ISTANZE DI CLASSE B-----------------------------------------------------

int istanzeB = 0;
for (int i = 0; i < vett.length; i++)
{
if (!(vett[i] instanceof C))
istanzeB++;
}

System.out.println(istanzeB);
        }
   
}


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 20:14:47
                int sommatoria_f=0;
      for(int i=0;i<vett.length;i++)
         sommatoria_f+=vett.f();
      int sommatoria_obj=0;
      for(int i=0;i<vett.length;i++){
         D obj=new D(r.nextInt(47));
         somma+=((B)vett).f(obj);
         }
      System.out.println(sommatoria_f);
      System.out.println(sommatoria_obj);

RAGAZZI 1 E 2 L'HO FATTO COSì MI SEMBRA CORRETTO. MI SPIEGATE IL 3°??


Title: Re:HEELP ME!! prova lab.
Post by: Antoniods on 24-02-2009, 20:16:01
devi contare quante volte viene creato un oggetto di tipo B


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 20:17:21
questo comando ke fà??

if (!(vett instanceof C)) istanzeB++;


Title: Re:HEELP ME!! prova lab.
Post by: Antoniods on 24-02-2009, 20:19:41
...appunto conta le instanze di B...


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 20:20:18
questo è il mio main è corretto??

import java.util.Random;
public class lab{
   public static void main(String [] args){
      Random r=new Random(6353433);
      A[] vett=new A[100];
      for(int i=0;i<vett.length;i++){
         int x=r.nextInt(10);
         int y=r.nextInt(100);
         int z=r.nextInt(30);
         if(r.nextInt(2)==1) vett=new B(x,y,z);
         else vett=new C(x,y,z);
      }
      int sommatoria_f=0;
      for(int i=0;i<vett.length;i++)
         sommatoria_f+=vett.f();
      int sommatoria_obj=0;
      for(int i=0;i<vett.length;i++){
         D obj=new D(r.nextInt(47));
         sommatoria_obj+=((B)vett).f(obj);
         }
      int istanzeB = 0;
      for (int i = 0; i < vett.length; i++){
         if (!(vett instanceof C))
            istanzeB++;
      }
      System.out.println(sommatoria_f);
      System.out.println(sommatoria_obj);
      System.out.println(istanzeB);
   }
}


Title: Re:HEELP ME!! prova lab.
Post by: Antoniods on 24-02-2009, 20:23:39
si ... dovrebbe essere giusto... cmq per sicurezza esegui il programma e se i risultati sono uguali a quelli che il prof ha messo nel forum il programma funziona!!!!


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 20:26:15
erroriiiiiiiiii... :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)|

lab.java:10: incompatible types
found   : B
required: A[]
         if(r.nextInt(2)==1) vett=new B(x,y,z);
                                                 ^
lab.java:11: incompatible types
found   : C
required: A[]
         else vett=new C(x,y,z);
                                  ^
lab.java:15: cannot find symbol
symbol  : method f()
location: class A[]
         sommatoria_f+=vett.f();
                                          ^
lab.java:15: inconvertible types
found   : <nulltype>
required: int
         sommatoria_f+=vett.f();
                                            ^
lab.java:19: inconvertible types
found   : A[]
required: B
         sommatoria_obj+=((B)vett).f(obj);
                                            ^
lab.java:19: inconvertible types
found   : <nulltype>
required: int
         sommatoria_obj+=((B)vett).f(obj);
                                                   ^


Title: Re:HEELP ME!! prova lab.
Post by: zElOtO on 24-02-2009, 20:29:01
Questo è il mio esercizio:
Code:
import java.util.Random;
public class Lab1 {
public static void main(String args[]) {
Random r = new Random(6353433);
A[] vett = new A[100];
for (int i = 0; i < vett.length; i++) {
int x = r.nextInt(10);
int y = r.nextInt(100);
int z = r.nextInt(30);
if (r.nextInt(2) == 1) vett[i] = new B(x, y, z);
else vett[i] = new C(x, y, z);
}
int check1 = 0, check2 = 0, check3 = 0;
for (int i = 0; i < vett.length; i++) {
check1 += vett[i].f();
D obj = new D(r.nextInt(47));
check2 += ((B)vett[i]).f(obj);
if (!(vett[i] instanceof C)) { check3++; }
}
System.out.println(check1 + ", " + check2 + ", " + check3);
}
}
abstract class A {
protected int x;
public A(int x) {
this.x = x;
}
abstract int f();
}
class B extends A {
protected int y;
private D d;
public B(int x, int y, double z) {
super(x);
this.y = y;
d = new D(z);
}
public int f() {
return (int) (Math.pow(this.x, 2));
}
public int f(D d) {
return (int) (d.getZ() + this.d.getZ());
}
}
class C extends B {
public C(int x, int y, double z) {
super(x, y, z);
}
public int f() {
return 7 * y;
}
}
class D {
private double z;
public D(double z) {
this.z = z;
}
public double getZ() {
return this.z;
}
}



Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 20:29:10
erroriiiiiiiiii... :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)| :-)|

lab.java:10: incompatible types
found   : B
required: A[]
         if(r.nextInt(2)==1) vett=new B(x,y,z);
                                                 ^
lab.java:11: incompatible types
found   : C
required: A[]
         else vett=new C(x,y,z);
                                  ^
lab.java:15: cannot find symbol
symbol  : method f()
location: class A[]
         sommatoria_f+=vett.f();
                                          ^
lab.java:15: inconvertible types
found   : <nulltype>
required: int
         sommatoria_f+=vett.f();
                                            ^
lab.java:19: inconvertible types
found   : A[]
required: B
         sommatoria_obj+=((B)vett).f(obj);
                                            ^
lab.java:19: inconvertible types
found   : <nulltype>
required: int
         sommatoria_obj+=((B)vett).f(obj);
                                                   ^


if(r.nextInt(2)==1) vett=new B(x,y,z); è sbagliato... sarebbe if(r.nextInt(2)==1) vett[ i]=new B(x,y,z);
else vett=new C(x,y,z);              else vett[ i]=new C(x,y,z);
Va beh praticamente hai dimenticato che vett è un vettore e nn un variabile...ti mancano  [i ] in ogni vett


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 20:55:33
ma io l'avevo copiato da quello che aveva dato il prof..

nelle sommatorie qual'è il problema??


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 21:12:13
E' sempre lo stesso...in ogni vett manca [ i]...vett è un array...quindi ogni votla che lo scrivi devi specificare la locazione...siccome lo usi sempre all'interno di un for e ti serve che ogni volta venga preso in considerazione un elemento diverso (quello di posto i) devi aggiungere ad ogni vett [i ]
Spero d'esserti stato d'aiuto


Title: Re:HEELP ME!! prova lab.
Post by: simOne_fLuo on 24-02-2009, 21:15:52
 :-OK :-OK :-OK :-OK :-OK :-OK :-OK :-OK :-OK :-OK :-OK

GRAZIE RAGAZZI.. ADESSO COMPILA ED ESEGUE.. i risultati sono:

21062
3734
44


Title: Re:HEELP ME!! prova lab.
Post by: zElOtO on 24-02-2009, 21:36:07
Risultati giusti .applausi


Title: Re:HEELP ME!! prova lab.
Post by: Manna on 24-02-2009, 21:43:00
Puoi provare con l'altro valore...ma visto che ti è risultato così non credo abbia molto senso
Complimenti .wink