lunedì 15 agosto 2011

Esercizio java: sommatoria dei numeri naturali minori di un certo numero

Il compito di oggi è scrivere un programminoa che calcoli e stampi a video la somma di tutti i numeri naturali minori di un certo numero inserito dall'utente.
Il codice è il seguente:
class Sommatoria_fino_n{   //somma di tutti i numeri naturali minori di un numero dato
  public static void main(String [] argv){
     int n=100;
    System.out.println("La somma di tutti i numeri naturali minori a "+n+" è: "+somma_fino(n));
  }
  public static int somma_fino(int n){
    int m=0;  // vanno sommati i numeri naturali fino ad n quindi si parte da 0, m è il numero che verrà restituito
    int i=1;   //questo è il numero che verrà sommato ogni volta
    while(i<n){  // ci si ferma quando il numero da sommare è maggiore o uguale al numero n da raggiungere
      m=m+i;  // si somma ad m il numero contenuto in i
      i=i+1;  // si incrementa i di un'unità
    }
    return m;   // si restituisce il risulatato finale m
  }
}

domenica 14 agosto 2011

Esercizio java: somma di due numeri

Si tratta di calcolare la somma di due numeri dati in input dall'utente.
Questo è il codice:
class Somma{
  //dati due numeri si calcola la loro somma
  public static void main (String [] args){
     double primo=21.9;  // valore iniziale
     double secondo=15;   // sconto da applicare: 15%
     System.out.println(primo+" + "+secondo+" = "+somma(primo,secondo));
  }
  public static double somma(double addendo1, double addendo2){
    double out=addendo1+addendo2;       // out sarà il valore restituito, ora contiene la somma dei due parametri ricevuti in input
    return out;
  }
}

giovedì 11 agosto 2011

Esercizio java: sottrarre percentuale di sconto

Utile programmino che dati due numeri, uno ad indicare il valore iniziale e l'altro la percentuale di sconto che va applicata, calcola il valore scontato. Un metodo prende in input i due numeri: prima calcola lo sconto relativo al valore iniziale e poi restituisce il valore scontato sottraendo lo sconto prima calcolato al valore iniziale.
Ecco il codice:
class Sconto{
//dati due numeri, il primo è il valore e il secondo la percentuale di sconto, si calcola il valore scontato
// dal valore iniziale si sottrae lo sconto e quindi si ottiene il valore scontato
         public static void main (String [] args){
                double primo=21.9;            // valore iniziale
                double secondo=15;            // sconto da applicare: 15%
                System.out.println("Valore iniziale: "+primo+"\nSconto in percentuale: "+secondo+"%");
                System.out.println("Valore scontato: "+valore_scontato(primo,secondo));
        }
        public static double valore_scontato(double valore, double sconto){
              double out=valore*sconto/100;        // out sarà il valore restituito, ora contiene il valore da sottrarre al valore iniziale
              out=valore-out;         // sottraiamo a valore (il valore iniziale) il valore da scontare. Così otteniamo il valore scontato che restituiamo
             return out;
     }
}

martedì 9 agosto 2011

Esercizio java: controllo lettera maiuscola o minuscola e vocale o consonante

Questo programmino è formato dal metodo principale main e da due metodi che verificano se il carattere dato come parametro in input rappresenta una lettera maiuscola o minuscola e una vocale o una consonante. Se si tratta di una lettera maiuscola ( rispettivamente di una vocale ) viene restituito true altrimenti false.
Il codice è questo:
class Controllo_lettera{
       public static void main (String [] args){
               char lettera='a';
               System.out.println("La lettera "+lettera+" è maiuscola? "+maiuscola(lettera));
               System.out.println("La lettera "+lettera+" è una vocale? "+vocale(lettera));
        }
//dato in input un carattere questo metodo restituisce true se è una lettera maiuscola, false altrimenti
     public static boolean maiuscola(char let){
          return ((let>='A') && (let<='Z'));
// se il carattere dato in input, let, è compreso tra la lettera A e la Z allora viene restituito true: si tratta di una lettera maiuscola
     }
//dato in input un carattere questo metodo restituisce true se è una vocale, false altrimenti, cioè se è una consonante
     public static boolean vocale(char let){
          switch (let){
//se il parametro let dato in input è A, E, I ecc... allora si tratta di una vocale e si restituisce true altrimenti false perchè vuol dire che si tratta di una consonante
              case 'A':
              case 'E':
              case 'I':
              case 'O':
              case 'U':
              case 'Y':
              case 'a':
              case 'e':
              case 'i':
              case 'o':
              case 'u':
              case 'y':
                  return true;
             default:
                 return false;
        }
    }
}

lunedì 8 agosto 2011

I metodi in java

Tante volte capita di dover scrivere ripetutamente lo stesso codice in programmi diversi. Ad esempio in molti programmi occorre verificare se una lettera è maiuscola o minuscola oppure se è una vocale od una consonante. Senza riscrivere ogni volta le stesse porzioni di codice si ricorre all'uso dei metodi. I metodi sono dei sottoprogrammi che possono venir invocati dal programma principale. Con l'uso dei metodi si riesce a dividere il programma in più parti: semplici e riutilizzabili. Il metodo può ricevere in input uno o più parametri dati dal programma invocente, definire nuove variabili e restituire un certo risultato.
Il metodo viene definito attraverso la sua cosiddetta signature: va scritto il tipo di dato restituito ( se non si restituisce alcun dato allora si usa la key-word void ), il nome del metodo con il quale verrà invocato e tra parentesi tonde i tipi dei parametri ricevuti in input con i nomi relativi. Dopo la signature si scrive il codice che si dovrà elaborare e per restituire il risultato del metodo si usa la key-word return.

sabato 6 agosto 2011

Esercizio java: ricerca del numero maggiore in un array

Viene dato un array ed il compito è quello di trovare il numero massimo: si confrontano i numeri contenuti nell'array ed il numero cercato è quello che risulta essere maggiore a tutti gli altri.
Questo è il codice:
class Numero_maggiore{
//dato un array di numeri reali si stabilisce quale sia il maggiore
         public static void main (String [] args){
                     System.out.println("Stabilire quale è il numero maggiore contenuto in un array");
                     double [] numeri=new double[30];
    //si riempie l'array di numeri reali casuali tra 0 e 100 esluso: attrraverso il metodo random della  classe Math si ricava un numero casuale tra 0 ed 1 escluso //quindi moltiplicando per 100 si ottiene un numero casuale tra 0 e 100 escluso
           for(int i=0;i<numeri.length;i++)
                 numeri[i]=Math.random()*100;
//Stampiamo a video i numeri dell'array
           System.out.println("Ecco l'array in cui si cerca il numero maggiore");
           for(int i=0;i
<numeri.length;i++)
                System.out.print(numeri[i]+" ");
          double maggiore;         // questo sarà il numero maggiore contenuto nell'array numeri
           if(numeri.length!=0){         //potrebbe capitare un array di lunghezza 0( in questo esempio non accade ma potrebbe succedere in qualche altro caso) quindi per sicurezza meglio verificare
                maggiore=numeri[0];        //poniamo nella variabile maggiore il primo numero dell'array
                for(int i=1;i<numeri.length;i++){
                         if(numeri[i]>maggiore)
                                   maggiore=numeri[i];         //se qualche numero dovesse essere maggiore del numero finora più grande allora mettiamo il suo valore nella variabile maggiore
               }
               System.out.println("\nIl numero maggiore contenuto nell'array è: "+maggiore);
         }
        else         //l'array ha lunghezza 0
              System.out.println("\nL'array non contiene alcun numero");
    }
}

Esercizio java: confronto tra due numeri reali

Si stabilisce, dati due numeri reali, se essi sono uguali o altrimenti quale dei due numeri è il maggiore: il primo o il secondo.
Il codice è il seguente:
class Confronto_numeri{
       //dati due numeri reali chiamati primo e secondo si stabilisce quale dei due sia il maggiore o se sono uguali
        public static void main (String [] args){
        System.out.println("Confronto tra due numeri reali");
         //numeri da confrontare
         double primo=534.634;
         double secondo=5.6;
         System.out.println("I numeri da confrontare sono: "+primo+" il primo e "+secondo+" il secondo");
         if(primo==secondo)         // se i numeri sono uguali
               System.out.println("I due numeri sono uguali: "+primo+" = "+secondo);
         else{         // i numeri non sonop uguali, vediamo quale sia il maggiore
                if(primo>secondo)         // se primo è maggiore di secondo allora è primo il maggiore
                        System.out.println("Il primo numero è maggiore del secondo: "+primo+" > "+secondo);
               else     // altrimenti, non sono uguali, primo non è il maggiore, allora secondo è il maggiore
                       System.out.println("Il secondo numero è maggiore del primo: "+secondo+" > "+primo);
        }
    }
}