Pages: [1]   Go Down
Print
Author Topic: Help  (Read 730 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Ryuk90
Matricola
*
Offline Offline

Posts: 26


« on: 08-06-2010, 17:31:46 »

Ragazzi ho un problema cn qst esercizio, aiutateme
Link Immagine
Code:
import java.util.Random;
abstract class Numero
{
protected byte[] cifre;
public Numero(byte[] cifre)
{
this.cifre=cifre;
}
private int valore()
{
int v=cifre[0];
for(int i=1;i<cifre.length;i++)
{
//if(i==0) v+=cifre[i];
v+= (cifre[i]/Math.pow(10,i));
}
return v;
}
public int somma(Numero num1)
{
return (this.valore()+ num1.valore());
}
public abstract byte cifra();
}
class B extends Numero
{
public B(byte[] cifre)
{
super(cifre);
}
public byte cifra()
{
return cifre[cifre.length-1];
}
}
class A extends Numero
{
public A(byte[] cifre)
{
super(cifre);
}
public byte cifra()
{
return cifre[0];
}
private int c(int x)
{
if(x<3) return 5;
else if((x>=3)&&(x<7)) return c(x-1);
else return c(x-2)+x;
}
public int codice()
{
return this.c(this.cifra());
}
}
public class num
{
public static void main(String[] args)
{
Numero[] vett=new Numero[100];
byte [] x=new byte[6];
Random r=new Random(1999888);
for(int i=0;i<vett.length;i++)
{
for(int j=0;j<x.length;j++) {x[j]=(byte)(r.nextInt(9)+1);
System.out.print(x[j]+ " ");}
if(r.nextInt(2)==1) vett[i]=new A(x);
else vett[i]= new B(x);
}
int sommaCifra=0;
int maxCod=0;
System.out.println();
for(int i=0;i<vett.length;i++)
{
if(vett[i]instanceof A)
{
if(((A)vett[i]).codice()>maxCod)  maxCod= ((A)vett[i]).codice();

}

System.out.print(vett[i].cifra()+ " ");
sommaCifra+= vett[i].cifra();
}

System.out.println(sommaCifra + " "+ maxCod+ " ");


}
}
vi prego sn divetato scemo
Logged
nocs
Matricola
*
Offline Offline

Posts: 94



WWW
« Reply #1 on: 09-06-2010, 07:54:46 »

Correzzione effettuata Smiley

Code:
public abstract class Numero {
protected byte cifre[];
public Numero (byte cifre[]) {
this.cifre = new byte [cifre.length];
for (int i=0;i<cifre.length;i++)
{
this.cifre[i] = cifre[i];
}
}
private int valore()
{
String s = "";
for(int i=0;i<cifre.length;i++)
{
s += (cifre[i]);
}
return Integer.parseInt(s);
}
public int somma(Numero num1)
{
return (this.valore()+ num1.valore());
}
public abstract byte cifra();
}

package labGiugno;

public class A extends Numero {

public A(byte[] cifre) {
super(cifre);
}

public byte cifra()
{
return cifre[0];
}
private int c(int x)
{
if(x<3) return 5;
else if((x>=3)&&(x<7)) return c(x-1);
else return c(x-2)+x;
}
public int codice()
{
return c(cifra());
}


}
package labGiugno;

public class B extends Numero {

public B(byte[] cifre) {
super(cifre);
}

public byte cifra()
{
return cifre[cifre.length-1];
}

}
package labGiugno;
import java.util.*;
public class Main {

public static void main(String[] args) {
Numero[] vett=new Numero[100];
byte [] x=new byte[6];
Random r=new Random(1999888);
for(int i=0;i<vett.length;i++)
{
for(int j=0;j<x.length;j++)
x[j]=(byte)(r.nextInt(9)+1);
if(r.nextInt(2)==1) vett[i]=new A(x);
else vett[i]= new B(x);
}
int sommaCifra=0;
int maxCod=0;
int som=0;

for(int i=0;i<vett.length;i++)
{

if(vett[i]instanceof A)
{
if(((A)vett[i]).codice()>maxCod)  maxCod= ((A)vett[i]).codice();

}

sommaCifra+= vett[i].cifra();
}
for (int i=0;i<vett.length-1;i+=2)
{
som+=vett[i].somma(vett[i+1]);
}


System.out.println(sommaCifra + " "+ maxCod+ " "+ som);
}
}




Logged
Ryuk90
Matricola
*
Offline Offline

Posts: 26


« Reply #2 on: 09-06-2010, 08:47:56 »

grazie nocs  evil
Logged
Pages: [1]   Go Up
Print
Jump to: