Sei sulla pagina 1di 3

import javax.swing.

*; /* * Scrivere un programma java per gestire un array di monete * implementare le seguenti funzionalit: * * 1 realizzare una classe dominio che modelli la classe moneta con i seguenti c ampi * valore * nome * peso * * implementare nella classe moneta un algoritmo per l'ordinamento dell'array * in maniera decrescente secondo la priorit: * valore, nome, peso * L'algoritmo di ordinamento pu esser scelto arbitrariamente dallo studente * * 3implementare nella classe moneta funzionalit per visualizzare l'array prima e dopo * l'ordinamento. * * 4 implementare nella classe moneta funzionalit per popolare l'array * da codice sorgente (all'interno della classe) e per popolare l'array in manie ra * interattiva da tastiera. * * 5 implementare una classe di collaudo che realizzi le funzionalit dei precedent i * punti. * 6 implementare ricerca licotomica/normale */ public class monete { int valore; String nome; float peso; monete(){ valore = 0; nome = ""; peso = 0f; } public void setValore(int a){ valore = a; } public int getValore(){ return valore; } public void setNome(String a){ nome = a; } public String getNome(){ return nome; }

public void setPeso(float a){ peso = a; } public float getPeso(){ return peso; }

public static void main(String[] args){ int n = 0; int[] val = new int[100]; int i; float[] pes= new float[100]; String[] nome= new String[100]; //int nn[]; //int vall[]; //int pess[]; // ACQUISIZIONE ELEMENTI String num=JOptionPane.showInputDialog ("Quanti elementi vuoi acquisire? "); n = Integer.parseInt (num); monete[] m = new monete[n]; for(i = 0; i<n; i++) { num=""; num=JOptionPane.showInputDialog ("Valore? "); val[i] = Integer.parseInt (num); num =JOptionPane.showInputDialog ("Nome? "); nome[i] =num; num=JOptionPane.showInputDialog ("Peso? "); pes[i] = Float.parseFloat(num); m[i]=new monete(); m[i].setValore(val[i]); m[i].setNome(nome[i]); m[i].setPeso(pes[i]); } // PORTA A VIDEO NON ORDINATO System.out.println("Elenco monete prima ordinamento"); System.out.println("Valore - nome - peso"); for(i = 0; i<n; i++) { int vali; String nomi;float pesi; vali=m[i].getValore(); nomi=m[i].getNome(); pesi=m[i].getPeso(); System.out.println(vali+" - "+nomi+" - "+pesi); }

// ORDINAMENTO int j,t=0; float z;

String w; for(i = 0; i < n; i++){ for(j = 1; j < (n-i); j++){ if(val[j-1] > val[j]){ t = val[j-1]; val[j-1]=val[j]; val[j]=t; z = pes[j-1]; pes[j-1]=pes[j]; pes[j]=z; w = nome[j-1]; nome[j-1]=nome[j]; nome[j]=w; }else if (val[j-1]==val[j]){ if(nome[j-1].compareTo(nome[j])==0 ) { if(pes[j-1]>pes[j]) { z = pes[j-1]; pes[j-1]=pes[j]; pes[j]=z; } }else if (nome[j-1].compareTo(nome[j])>0) { z = pes[j-1]; pes[j-1]=pes[j]; pes[j]=z; w = nome[j-1]; nome[j-1]=nome[j]; nome[j]=w; } } } } System.out.println("Elenco monete dopo ordinamento"); System.out.println("Valore - nome - peso"); for(i = 0; i<n; i++) { System.out.println(val[i]+" } // ricerca normale String mone=JOptionPane.showInputDialog ("Quale moneta vuoi cercare? "); i=0; int flag=0; while (i<n) { if (mone.compareTo(nome[i])==0) { System.out.println(val[i]+" - "+nome[i]+" - "+pes[i]); flag=1; } i++; } if (flag==0) { System.out.println("\nElemento non trovato"); }// fine ricerca normale } } - "+nome[i]+" - "+pes[i]);

Potrebbero piacerti anche