mercoledì 25 novembre 2009

Esercizio 2

In un triangolo rettangolo conoscendo l'ipotenusa e l'angolo che forma con un catteto, calcolare entrambi i cateti.


public class Cateti {
public double calcolaCateto1(double angolo,double ip){
double oh= ip*Math.sin(angolo);
return oh;
}
public double calcolaCateto2(double angolo,double ip){
double op= ip*Math.cos(angolo);
return op;
}
public static void main(String[]Args){
Cateti c1=new Cateti();
Cateti c2=new Cateti();
double cateto1=c1.calcolaCateto1(Math.PI/2,5);
double cateto2=c2.calcolaCateto2(Math.PI/2,5);
System.out.println("Cateto1= "+cateto1);
System.out.println("Cateto2= "+cateto2);
}
}

Esercizio 1

In un triangolo rettangolo conoscendo un angolo e il cateto adiacente, calcolare l'altro cateto.


public class Cateto {
public double calcolaCateto(double angolo ,double oh){
double op;
op= oh*Math.sin(angolo);
return op;
}
public static void main(String[]Args){
Cateto c2=new Cateto();
double cateto=c2.calcolaCateto(Math.PI/2,7);
System.out.println("Il cateto vale:"+cateto);
}
}

giovedì 19 novembre 2009

Verifica del 19/11/09-Quadrato

public class Quadrato {
int lato;
int area;
int perimetro;
public Quadrato(int lato){
this.lato=lato;
this.area=lato*lato;
this.perimetro=lato*4;
}
public int getQuadrato(){return lato;}
public int getArea(){return area;}
public int getPerimetro(){return perimetro;}
public void stampaQuadrato(){
System.out.println("Lato: "+this.getQuadrato());
System.out.println("Area: "+this.getArea());
System.out.println("Perimetro: "+this.getPerimetro());
}
}



import java.util.Scanner;
public class CollezioneQuadrati {
private Quadrato[] quadrati=new Quadrato[10];
Scanner in=new Scanner(System.in);
public void inserisci(){
for(int i=0;i<2;i++){
System.out.println(“dimmi il lato del quadrato:");
int l=in.nextInt();
Quadrato q=new Quadrato(l);
quadrati[i]=q;
}
}
public void elencoQuadrati(){
for(int i=0;i<2;i++){
System.out.println("lato : "+quadrati[i].getQuadrato()+" "+"Area vale: "+quadrati[i].getArea()+" "+"Perimetro vale: "+quadrati[i].getPerimetro());
}
}
}



public class TestaQuadrati {
public static void main(String[]args){
CollezioneQuadrati cq=new CollezioneQuadrati();
cq.inserisci();
cq.elencoQuadrati();

}
}

mercoledì 18 novembre 2009

Chitarra in java-esercizio in preparazione alla verifica

public class Chitarra{
private int id;
private String modello;
private String tipo;
private String materiale;
private int prezzo;
public Chitarra(int id,String modello,String tipo,String materiale,int prezzo){
this.id=id;
this.modello=modello;
this.tipo=tipo;
this.materiale=materiale;
this.prezzo=prezzo;
}
public int getId(){return id;}
public String getModello(){return modello;}
public String getTipo(){return tipo;}
public String getMateriale(){return materiale;}
public int getPrezzo(){return prezzo;}
public void stampaChitarra(){
System.out.println("Codice: "+this.getId());
System.out.println("Modello: "+this.getModello());
System.out.println("Tipo: "+this.getTipo());
System.out.println("Materiale: "+this.getMateriale());
System.out.println("Prezzo: "+this.getPrezzo());
}
}


import java.util.Scanner;
public class Negozio{
private Chitarra[] chitarre=new Chitarra[100];
Scanner in=new Scanner(System.in);
public void inserisci(){
int id=1;
for(int i=0;i<3;i++){
System.out.println("Digita il modello della chitarra:");
String modello=in.next();
System.out.println("Digita il tipo di chitarra:");
String tipo=in.next();
System.out.println("Digita il materiale della chitarra:");
String materiale=in.next();
System.out.println("Digita il prezzo della chitarra:");
int prezzo=in.nextInt();
Chitarra c=new Chitarra(id,modello,tipo,materiale,prezzo);
chitarre[i]=c;
id++;
}
}
public void tabChitarre(){
for(int i=0;i<3;i++){
System.out.println("codice chitarra: "+chitarre[i].getId()+"prezzo: "+chitarre[i].getPrezzo());
}
}
public Chitarra scegliChitarra(){
System.out.println("Scegli un codice dal tabulato");
int scelto=in.nextInt();
Chitarra c=chitarre[scelto-1];
return c;
}
}


public class TestaNegozio{
public static void main(String[]args){
Negozio n=new Negozio();
n.inserisci();
n.tabChitarre();
Chitarra c=n.scegliChitarra();
c.stampaChitarra();
}
}

martedì 17 novembre 2009

Vari esercizi in java di consolidamento-"Coccodrillo"

In classe si è svolto il consolidamento delle definizioni della programmazione in java eseguendo degli esercizi.
Abbiamo preso in considerazione un coccodrillo e gli abbiamo dato delle azioni da svolgere: abbiamo creato quindi 2 classi, la prima inerente ai metodi e attributi del coccodrillo mentre la seconda testava la Classe Coccodrillo


public class Coccodrillo{
public void parla(){
System.out.println("Bruahuhuhuhuhuh!!!!!push push!!!!");
}
public void mangia(String cibo){
System.out.println("Ti ho mangiato slurp slurp,buono! "+cibo);
if(cibo.equals("Belfiori")){
System.out.println("Mannaggia mi e' andato di traverso "+cibo);
}
}
}


import java.util.Scanner;
public class TestaCoccodrillo{
public static void main(String[]args){
Coccodrillo c1=new Coccodrillo();
String risposta;
Scanner in=new Scanner(System.in);
do{
c1.parla();
System.out.println("Vuoi farlo continuare a parlare?Rispondi Si");
risposta=in.next();
}
while(risposta.equals("Si"));
System.out.println("Digita chi vuoi mangiare");
String cibo=in.next();
c1.mangia(cibo);
}
}

Classe Black Jack Gioco

Questa classe manda in esecuzione le altre classi (Banco, Carta, Mano e Mazzo) che interagiscono tra loro.


import java.util.Scanner;
public class BlackJackGioco{
Banco b1=new Banco(1,"Qui Vinci",100000);
Scanner in=new Scanner(System.in);
Giocatore g1;
public void Go(){
System.out.println("Benvenuti al banco del Black Jack");
System.out.println("Qui potete vincere fino a 100000 euro");
System.out.println("In bocca al lupo");
System.out.println("Se ci sono giocatori, digia Si");
String risposta=in.next();
int resto=100000;
while((risposta.equals("Si"))&&(resto>0)){
System.out.println("come ti chiami?");
String nome=in.next();
System.out.println("quante fiches hai?");
int budget=in.nextInt();
g1=new Giocatore(1,nome,budget);
b1.setGiocatore(g1);
resto=b1.run();
System.out.println("sono qui"+resto);
}
System.out.println("Ringraziamo, il gioco e' finito");
}
public static void main(String [] args){
BlackJackGioco gioco=new BlackJackGioco();
gioco.Go();
}
}

Classe Testa Mazzo-Black Jack

public class TestaMazzo{
public static void main(String [] args){
Mazzo m1=new Mazzo();
m1.stampaMazzo();
m1.mischiaMazzo();
m1.stampaMazzo();
}
}

Classe Testa Mano-Black Jack

public class TestaMano{
public static void main (String[] args){
Mano m1=new Mano();
Carta c1=new Carta(1);
m1.addCarta(c1);
Carta c2=new Carta(15);
Carta c3=new Carta (28);
Carta c4=new Carta(12);
m1.addCarta(c2);
m1.addCarta(c3);
m1.addCarta(c4);
m1.stampaMano();
m1.calcolaPunteggio();
}
}

Classe Testa Carta-Black Jack

Questa classe come Testa Mano e Testa Mazzo provano se le classi Carta,Mano e Mazzo funzionino.


public class TestaCarta{
public static void main(String[] args){
int n=Integer.parseInt(args[0]); //converte una stringa in un numero
Carta a1=new Carta(n);
a1.ioSono();
}
}

Classe Mazzo-Black Jack

import java.util.Random;
public class Mazzo{
Carta mazzo[]=new Carta[52];
Carta successiva=new Carta(1);
public void riordinaMazzo(){
for(int i=0;i<52;i++){
Carta c=new Carta(i);
mazzo[i]=c;
}
}
public Mazzo(){
riordinaMazzo();
}
public void mischiaMazzo(){
Random r1=new Random();
Carta comodo=new Carta(1);
//int nr=r1.nextInt(52);
for(int i=0;i<52;i++){
int n1=r1.nextInt(52);
int n2=r1.nextInt(52);
comodo=mazzo[n1];
mazzo[n1]=mazzo[n2];
mazzo[n2]=comodo;
}
successiva=mazzo[0];
}
public void stampaMazzo(){
for(int i=0;i<52;i++){
mazzo[i].ioSono();
}
}
public Carta getSuccessiva(){
return successiva;
}
public void setSuccessiva(int conta){
successiva=new Carta(conta);
}
//metodo che restituisce la variabile globale mazzo
public Carta[] getMazzo(){return mazzo;}
}

Classe Mano-Black Jack

public class Mano{
Carta[] mano=new Carta[11];
int contaCarte=0;
int punteggio=0;
public void addCarta(Carta carta){
mano[contaCarte]=carta;
contaCarte++;
}
public void stampaMano(){
int i=0;
while(mano[i]!=null){
System.out.println(mano[i].getNome()+" "+mano[i].getSeme());
i++;
}
}
public void stampaManoBanco(){
System.out.println(mano[0].getNome()+" "+mano[0].getSeme());
}
public void stampaManoBanco1(){
mano[0].ioSono();
}
public int calcolaPunteggio(){
int i=0;
punteggio=0;
while(mano[i]!=null){
punteggio=punteggio+mano[i].getValore();
i++;
}
i=0;
if (punteggio<=21){
while(mano[i]!=null){
if (mano[i].getValore()==1){
if(21-punteggio>=10) punteggio=punteggio+10;
}
i++;
}
}
System.out.println("punteggio: "+punteggio);
return punteggio;
}
}

Classe Carta-Black Jack

public class Carta{
//variabili di istanza o di oggetto
private String seme; //"P" "Q" "C" "J"
private String nome; // " A 2----9 J Q K"
private int inumero;
private int valore;
private int punti;
private String semi[]={"cuori","quadri","fiori","picche"};
private String nomi[]={"asse","2","3","4","5","6","7","8","9","10","Jack","Donna","Re"};
public Carta(int n){ //n il numero univoco della carta da 1 a 52
int iseme=n/13;
seme=semi[iseme];
valore=n%13+1;
if((valore==11)||(valore==12)||(valore==13)){
punti=10;
}else{
punti=valore;
}
nome=nomi[valore-1];
}
// metodi get permettono di restituire alle altre classi i valori delle variabili d'oggetto
public String getSeme(){
return seme;
}
public String getNome(){
return nome;
}
public int getValore(){
return punti;
}
public void ioSono(){
System.out.println("io sonola carta:"+getNome()+" "+getSeme());
}
}

Gioco del Black jack in java (svolto in classe)- Classe Banco

In ogni classe abbiamo definito i suoi metodi e attributi e alla fine li abbiamo "uniti" in un unica classe la quale mandava in esecuzione il programma
La prima che abbiamo definito è stata quella relativa al banco a di gioco e in seguito tutte le altre testandole ogni volta.


import java.util.Scanner;
public class Banco{
Giocatore giocatore;
int id;
String nome;
int budget=0;
Mazzo mazzo=new Mazzo();
Mano manoBanco=new Mano();
Scanner in=new Scanner(System.in);
public void creaGiocatore(){
System.out.println("Dammi il tuo nome");
String nomeGiocatore=in.next();
System.out.println("dimmi il tuo budget");
int budget=in.nextInt();
giocatore=new Giocatore(1,nomeGiocatore,budget);
}
public Banco(int id,String nome,int budget){
this.id=id;
this.nome=nome;
this.budget=budget;
}
public int run(){
int sommaBanco=100000;
int restoGiocatore=giocatore.getResto();
System.out.println("Vuoi continuare a giocare?Rispondi Si");
String r=in.next();
int puntata=giocatore.punta();
Mano manog=giocatore.getMano();
int i=0;
Carta[] carteMazzo=mazzo.getMazzo();
while((restoGiocatore>0)&&(r.equals("Si"))&&(sommaBanco>0)){
mazzo.riordinaMazzo();
mazzo.mischiaMazzo();
mazzo.stampaMazzo();
System.out.println("------------");
Carta carta=mazzo.getSuccessiva();
manog.addCarta(carteMazzo[i]);
i++;
manog.addCarta(carteMazzo[i]);
i++;
manoBanco.addCarta(carteMazzo[i]);
i++;
manoBanco.addCarta(carteMazzo[i]);
i++;
manog.stampaMano();
int punteggiog=manog.calcolaPunteggio();
manoBanco.stampaManoBanco();
int punteggiob=0;//manoBanco.calcolaPunteggio();
System.out.println("se vuoi un'altra carta rispondi Si");
r=in.next();
while((r.equals("Si"))&&(punteggiog<=21)){
manog.addCarta(carteMazzo[i]);
i++;
manog.stampaMano();
punteggiog=manog.calcolaPunteggio();
System.out.println("Se vuoi un'altra carta rispondi Si");
r=in.next();
}
if (punteggiog>21){
System.out.println("hai sballato perdi la puntata");
restoGiocatore-=puntata;
sommaBanco+=puntata;
break;
}
while((punteggiob<=punteggiog)&&(punteggiob<21)){
manoBanco.addCarta(carteMazzo[i]);
i++;
manoBanco.stampaManoBanco();
manoBanco.stampaManoBanco1();
punteggiob=manoBanco.calcolaPunteggio();
}
if(punteggiog>punteggiob){
System.out.println("hai vinto: "+puntata);
restoGiocatore+=puntata;
sommaBanco-=puntata;
}else{
System.out.println("il banco vince!"+puntata);
restoGiocatore-=puntata;
sommaBanco+=puntata;
}
}
return sommaBanco;
}
//ho assegnato il giocatore al banco
public void setGiocatore(Giocatore g){
giocatore=g;
}
}