Esercizi Java - Sito Web della Classe VB ITIS Teramo 2011

Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
Java è un linguaggio di programmazione c indipendente dalla piattaforma, ovvero un linguaggio di
programmazione che permette di compilare i programmi una volta sola e di installarli su computer
che usano sistemi operativi diversi.
Ciò che rende un programma Java indipendente dal tipo di computer sul quale viene eseguito è la
virtual machine, ovvero un interprete del linguaggio che si inserisce fra il programma e il sistema
operativo e traduce le istruzioni Java in comandi comprensibili dal sistema operativo stesso.
Java è un linguaggio ad oggetti: un oggetto (o classe) è definito dagli attributi (le variabili) e dai
metodi (le funzioni che agiscono sui dati dell'oggetto). Se l'oggetto è una motocicletta, un attributo è
l'acceleratore e un metodo è "accelera"; se l'oggetto è un triangolo, gli attributi sono i lati e un
metodo è "calcola l'area".
Per scrivere un programma Java, è sufficiente installare sul proprio computer un "SDK", ovvero un
"Software Development Kit"
Per compilare un programma Java si usa il comando javac <nomeclasse>.java: questo
comando produce <nomeclasse>.class, che è il bytecode della classe, ovvero il formato
comprensibile alla Java Virtual Machine.
Per eseguire un programma Java si usa il comando java <nomeclasse>: questo comando fa
partire la virtual machine che eseguirà il metodo main della classe <nomeclasse>.
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
Esercizi Java
Esercizio N.1
// salvare con il nome della classe e l'estensione java: somma.java
//javac somma.java per la compilazione
//java somma per l'esecuzione
class somma
{
public static void main (String[] args)
{
int x=15;
int y=15;
int s=x+y;
System.out.println("Buon giorno ragazzi della IVB Oggi si inizia con Java...\n");
System.out.println (x + "+" + y + "=" + s) ;
}
}
class somma2
{
static int somma(int a,int b)
{return a+b; }
public static void main (String[] args)
{
int x=15;
int y=15;
System.out.println (x + "+" + y + "=" + somma(x,y)) ;
}
}
Esercizio N.2
//java fattoriale 5 esegue il fattoriale di 5
class fattoriale
{
static int fattoriale (int num)
{
int p=1;
for(int i=1;i<=num;i++)
{
p= p * i;
}
return p;
}
// Inizio del programma.
public static void main (String[] args)
{
int x;
x = Integer.valueOf(args[0]).intValue ();
System.out.println (x + "! = " + fattoriale (x));
}
}
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
Esercizio N.3
public class fattoriale2
{
public static long fattoriale(int n )
{
if( n <= 1 ) // base case
return 1;
else
return n * fattoriale( n - 1 );
}
// Simple test program
public static void main( String [ ] args )
{
for( int i = 1; i <= 10; i++ )
System.out.println( fattoriale( i ) );
}
}
Esercizio N.4
/* Programma che determina i numeri primi e non primi tra 1 e 100
*/
class primi
{
static boolean primo (int num)
{
if(num==1) return true;
for(int j=2;j<num;j++)
{
if(num%j==0) return false;
}
return true;
}
public static void main (String[] args)
{
for(int i=1;i<=100;i++)
{
if (primo (i))
{
System.out.println (i + " numero primo");
}
else
{
System.out.println (i + " --------------- numero non primo");
}
}
}
}
//
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
Esercizio N. 5
class paridispari
{
public static void main(String[]args)
{
int n=Integer.valueOf(args[0]).intValue();
if(pari(n))
{System.out.println("il numero "+n+" e' pari");}
else
{System.out.println("Il numero "+n+" e' dispari");}
}
static boolean pari(int num)
{
if(num%2==0) return true;
return false;
}
}
public class triangolo {
double l1, l2, l3; // I tre lati
public double calcolaPerimetro() {
return l1+l2+l3;
}
}
si compila ma non si può eseguire (manca il main())
public class Prova {
}
public static void main (String[] args) {
// costruisco l'oggetto t di tipo Triangolo
triangolo t = new Triangolo ();
// assegno i valori ai lati
t.l1 = 12.5;
t.l2 = 8;
t.l3 = 10;
// uso una variabile per memorizzare il perimetro
double per= t.calcolaPerimetro();
// stampo il perimetro
System.out.println (per);
}
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
public class Cerchio
{
double raggio;
final double pigreco=3.141519;
public double Diametro()
{return raggio*2;}
public double Circonferenza()
{return 2*pigreco*raggio;}
public double Area()
{return pigreco*raggio*raggio;}
}
public class Prova2
{
public static void main (String[] args)
{
// costruisco l'oggetto c istanziando la classe Cerchio
Cerchio c = new Cerchio();
// assegno il valore al raggio
double r=Double.valueOf(args[0]).doubleValue();
c.raggio=r;
double d= c.Diametro();
double p= (Math.round(c.Circonferenza()*100))/100;
double a= c.Area();
System.out.println ("Esercizio del 30.9.2011\n");
System.out.println ("raggio=\t\t"+r);
System.out.println ("diametro=\t"+d);
System.out.println ("circonferenza=\t"+p);
System.out.println ("area=\t\t"+a);
}
}
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
public class Cerchio
{
double raggio;
final double pigreco=3.141519;
public Cerchio()
{}
public Cerchio(double raggio)
{this.raggio=raggio;}
public double Diametro()
{return raggio*2;}
public double Circonferenza()
{return 2*pigreco*raggio;}
public double Area()
{return pigreco*raggio*raggio;}
}
public class Cilindro extends Cerchio
{
double altezza;
public Cilindro(double raggio,double altezza)
{super(raggio);
this.altezza=altezza;}
public double Volume()
{return Area()*altezza;}
}
public class Prova3
{
public static void main (String[] args) {
double r=100;
double h=10;
Cerchio c = new Cerchio(r);
Cilindro ci=new Cilindro(r,h);
double d= c.Diametro();
double p= (double)Math.round(c.Circonferenza()*100)/100;
double a= (double)Math.round(c.Area()*100)/100;
double v=(double)Math.round(ci.Volume()*100)/100;
System.out.println ("Esercizio del 30.9.2011\n");
System.out.println ("raggio=\t\t"+r);
System.out.println ("diametro=\t\t"+d);
System.out.println ("circonferenza=\t\t"+p);
System.out.println ("area=\t\t"+a);
System.out.println("\n\nvolume del cilindro: "+v);
}
}
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
public class Cono extends Cerchio
{
public Cono(double raggio,double altezza)
{
super(raggio);
this.altezza=altezza;
}
public double Volume()
{ return (Area()*altezza)/3; }
}
public class Cono extends Cilindro
{
public Cono (double raggio,double altezza)
{
super(raggio,altezza);
}
public double Volume()
{ return super.Volume()/3; }//overridding
}
public class Prova4
{
public static void main (String[] args) {
double r=100;
double h=10;
Cilindro ci=new Cilindro(r,h);
double a=ci.Area();
double v=ci.Volume();
System.out.println("\nArea di base del cilindro: "+a);
System.out.println("\nVolume del cilindro: "+v);
Cono co=new Cono(r,h);
a=co.Area();
v=co.Volume();
System.out.println("\nArea di base del cono: "+a);
System.out.println("\nVolume del cono= "+v);
}
}
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
public class Stampamesi
{
public static void main(String[] args)
{
String[] mesi=new String[13];
//String[] mesi={"","gen","feb"};
mesi[1]="Gen";
mesi[2]="Febbraio";
for(int i=1;i<=2;i++)
{
System.out.println("\nMese "+i+": "+mesi[i]);
}
}
}
public class AreaRettangolo {
public static void main(String[] args)
{
int base; // base del rettangolo
int altezza; // altezza del rettangolo
int area; // area del rettangolo
base = 7;
altezza = 9;
area = base * altezza;
System.out.println();
System.out.print("\n");
System.out.println("\nL'area del rettangolo di base " + base +
" e di altezza " + altezza);
System.out.println("vale " + area + "\n\n\n\n");
} // fine metodo main
}
// fine classe AreaRettangolo
Itis Teramo Classe IVB- Sistemi per l’elaborazione e la trasmissione delle informazioni
Anno Scolastico 2011-2012 Proff. Mauro de Berardis e Franco Roscioli
public class AreaRettangolo {
public static void main(String[] args)
{
int base; // base del rettangolo
int altezza; // altezza del rettangolo
int area; // area del rettangolo
base = 7;
altezza = 9;
area = base * altezza;
System.out.println();
System.out.print("\n");
System.out.println("\nL'area del rettangolo di base " + base +
" e di altezza " + altezza);
System.out.println("vale " + area + "\n\n\n\n");
} // fine metodo main
}
// fine classe AreaRettangolo
public class Stringhe
{
public static void main(String[] a) {
String messaggio;
messaggio = "Roma, una bellissima capitale";
int lunghezzaMessaggio = messaggio.length();
char primaLettera = messaggio.charAt(0);
char ultimaLettera = messaggio.charAt(lunghezzaMessaggio - 1);
String prime4Lettere = messaggio.substring(0,4);
System.out.println("Messaggio: " + messaggio);
System.out.println("Esso e' composto da " + lunghezzaMessaggio + " caratteri");
System.out.println("Il primo carattere e': \'" + primaLettera
+ "\', l'ultimo carattere e': \'"
+ ultimaLettera + "\'");
System.out.println("La sottostringa dei primi 4 caratteri e': \"" + prime4Lettere + "\"");
System.out.println("Messaggio tutto in maiuscole: ");
String messaggioMaiuscolo;
messaggioMaiuscolo = messaggio.toUpperCase();
System.out.println(messaggioMaiuscolo);
}// fine metodo main()
} // fine classe Stringhe