Dichiara, alloca e inizializza un vettore di reali contenente i valori successivi da 0.0 a 1.9 con passo 0.1

double[] v;
v=new double[20];
for(int i=0; i < 20; i++)
  v[i]=i/10.0;            // v[i]=(double)i/10;

oppure

...
for(double i=0.0; i < 2.0; i +=0.1)
  v[(int)(i*10.0)]=i;

oppure...

double[] v={ 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
             1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9 };

Sottolinea i tipi di dato primitivi del linguaggio Java presenti nell’elenco seguente: byte, character, float, int, integer, long, real, short

Scrivi un blocco di selezione multipla che visualizza un saluto scelto tra 4 che corrispondono alle diverse ore della giornata. Utilizza il blocco switch() e il metodo Math.random().

int ora=(int)(24*Math.random());
switch(ora)
{
  case 6: case 7: case 8: case 9: case 10: case 11: case 12;
    System.out.pritln("Buongiorno");
    break;
  case 13: case 14: case 15: case 16: case 17:
    System.out.pritln("Buon pomeriggio");
    break;
  case 18: case 19: case 20:
    System.out.pritln("Buona sera");
    break;
  case 21: case 22: case 23: case 0: case 1: case 2: case 3: case 4: case 5:
    System.out.pritln("Buona notte");
    break;
}

Valuta, indicando i passi seguiti, i valori finali delle variabili contenute nel seguente codice

int a=10, b=4;
a=a/b;
b++;
b%=a;

Sinteticamente

1. a <-- 10
2. b <-- 4
3. a <-- 10/4=2
4. b <-- 4+1=5
5. b <-- 5%2=1

Dati quattro numeri reali inseriti da tastiera, su richiesta del programma, visualizzare il valore massimo. Utilizza un metodo per max(x, y).

Il metodo max() è presente nella classe Math ma lo riscriviamo per esercizio...

static double max(double x, double y)
{
  if(x >= y)
    return x;
  else
    return y;
}
ConsoleReader tastiera=new ConsoleReader();
double[] v=new double[4];
for(int i=0; i < 4; i++)
{
  System.out.print((i+1) + "° valore = ");
  v[i]=tastiera.readDouble();
}
double massimo=v[0];
for(int i=1; i < 4; i++)
  massimo=max(massimo, v[i]);
System.out.println(massimo);

oppure, senza vettore (ma meno leggibile...)

ConsoleReader tastiera=new ConsoleReader();
System.out.print("1° valore = ");
double massimo=tastiera.readDouble();
for(int i=2; i <= 4; i++)
{
  System.out.print(i + "° valore = ");
  massimo=max(massimo, tastiera.readDouble());
System.out.println(massimo);

oppure

ConsoleReader tastiera=new ConsoleReader();
System.out.print("1° valore = ");double a1=tastiera.readDouble();
System.out.print("2° valore = ");double a2=tastiera.readDouble();
System.out.print("3° valore = ");double a3=tastiera.readDouble();
System.out.print("4° valore = ");double a4=tastiera.readDouble();
a1=max(a1, a2);
a3=max(a3, a4);
a1=max(a1, a3);
System.out.println(a1);

oppure

...
System.out.println(max(max(max(a1, a2), a3), a4));

Dati 6 numeri interi inseriti da riga di comando indicare se tra i primi 5 numeri è presente il 6° valore. Utilizza un array.

int[] v=new int[6];
for(int i=0; i < 6; i++)
  v[i]=Integer.parseInt(args[i]);

boolean risp=false;
int k=v[5];
for(int i=0; i < 5; i++)
  if(v[i] == k)
    risp=true;
System.out.println(k + " e\' presente? " + risp);

Introducendo la variabile n il codice risulta più flessibile

int n=args.length;
int[] v=new int[n];
for(int i=0; i < n; i++)
  v[i]=Integer.parseInt(args[i]);

boolean risp=false;
int k=v[n-1];
for(int i=0; i < n-1; i++)
  if(v[i] == k)
    risp=true;
System.out.println(k + " e\' presente? " + risp);

- ApPuNtIdIuNiNfOrMaTiCo