PDA

View Full Version : [Java] Progettino da consegnare! Aiutooo!


Demirulez
15-10-2006, 12:55
Ciao a tutti, abbiamo da poco iniziato a programmare con Java a scuola e ho un progettino da consegnare prima della verifica. Ho qualche problema a risolvere alcuni punti espressi nei commenti. :cry: Vi posto il codice, aspetto vostri suggerimenti grazie in anticipo!

Codice:
[COLOR=Blue]
import java.util.Scanner;
public class Età {

/**
* @param args
*/
/*Scrivere un programma Java che consenta la gestione relativa all'ètà di 4 persone intervistate.Il programma deve consetire di:
* 1. memorizzare in 4 variabili i dati espressi in input relativi agli età degli intervistati;
* 2. calcolare e visualizzare l'età media degli intervistati;
* 3. calcolare e visualizzare la percentuale, rispeto al totale (4), degli intervistati maggiorenni (es. 75.0 %)
* 4. ottenuto con 2 input un intervallo di età (età minima ed età massima es. 25 e 30) visualizzi il numero complessivo di intervistati appartenenti a tale intervallo.
* 5. visualizzare la massima differenza di età tra tutti gli intervistati.
* Bene gli ultimi 2 punti sono quelli che non mi sono chiari, i primi tre sono esatti. Grazie del vostro aiuto!!
*/
public static void main(String[] args) {
double e1;
double e2;
double e3;
double e4;
Scanner input=new Scanner (System.in);
System.out.println("Inserire quattro età:");
e1=input.nextDouble ();
e2=input.nextDouble ();
e3=input.nextDouble ();
e4=input.nextDouble ();
double etàmedia;
etàmedia=(e1+e2+e3+e4)/4;
System.out.println ("L'età media è: "+etàmedia);
double cont;
cont=0;
{if (e1>=18)
cont++;
if (e2>=18)
cont++;
if (e3>=18)
cont++;
if (e4>=18)
cont++;
System.out.print ("La percentuale di maggiorenni è: ");
System.out.print ((cont/4)*100);
System.out.print(" %");
double etàmin;
double etàmax;
etàmin= input.nextDouble();
etàmax= input.nextDouble();
cont=0;
if ((e1>=etàmin)&&(e1<=etàmax));
cont ++;
if ((e2>=etàmin)&&(e2<=etàmax));
cont ++;
if ((e3>=etàmin)&&(e3<=etàmax));
cont ++;
if ((e4>=etàmin)&&(e4<=etàmax));
cont ++;
System.out.print("Numero complessivo di intervistati: ");
System.out.println(cont);
etàmin=e1;
etàmax=e2;
if (e2>etàmax);
etàmax=e2;
if (e2<etàmin);
etàmin=e2;
if (e3>etàmin);
etàmin=e2;
if (e3<etàmin);
etàmin=e2;
if (e4>etàmin);
etàmin=e2;
if (e4<etàmin);
etàmin=e2;
System.out.print ("Massima differenza di età fra tutti gli intervistati: "+etàmin);
}
}
}
// TODO Auto-generated method stub

franksisca
15-10-2006, 13:07
qualis sono i problemi???

AngeL)
15-10-2006, 13:51
qualis sono i problemi???
* 4. ottenuto con 2 input un intervallo di età (età minima ed età massima es. 25 e 30) visualizzi il numero complessivo di intervistati appartenenti a tale intervallo.
* 5. visualizzare la massima differenza di età tra tutti gli intervistati.
* Bene gli ultimi 2 punti sono quelli che non mi sono chiari, i primi tre sono esatti. Grazie del vostro aiuto!!
.

Demirulez
15-10-2006, 14:18
qualis sono i problemi???

I miei problemi sono gli ultimi due espressi nei commenti...se lo compilo, nella consolle (Eclipse 3.2) mi appare questo:

Inserire quattro età:
14
12
54
62
L'età media è: 35.5
La percentuale di maggiorenni è: 50.0 %
25
35
Numero complessivo di intervistati: 4.0
Massima differenza di età fra tutti gli intervistati: 12.0

Ecco, Numero comlessivo di intervistati e Massima differenza fra tutti gli intervistati non penso corrispondano a quello che mi chideva il testo (nei commenti)...mi potete aiutare a risolvere gli ultimi 2 in modo esatto?? Spero di essere stato abb. chiaro... :rolleyes:

PGI-Bis
15-10-2006, 14:59
Per il primo problema (n° 4), l'algoritmo potrebbe essere:

dati i valori A, età minima, e B, età massima
contatore = 0
per ogni intervistato
se l'età dell'intervistato è compresa tra A e B
incrementa il contatore di uno

Al termine, contatore è il numero di intervistati la cui età è compresa nell'intervallo proposto.


Per il secondo (n° 5) direi:

differenzaMassima = 0
per ogni intervistato A
per ogni intervistato B diverso da A
se la differenza di età tra A e B è maggiore di differenzaMassima
differenzaMassima = differenza di età tra A e B

Al termine differenzaMassima è la massima differenza di età tra gli intervistati.

Michaelllllllll
16-10-2006, 19:44
:mc: Per il primo problema (n° 4), l'algoritmo potrebbe essere:

dati i valori A, età minima, e B, età massima
contatore = 0
per ogni intervistato
se l'età dell'intervistato è compresa tra A e B
incrementa il contatore di uno

Al termine, contatore è il numero di intervistati la cui età è compresa nell'intervallo proposto.


Per il secondo (n° 5) direi:

differenzaMassima = 0
per ogni intervistato A
per ogni intervistato B diverso da A
se la differenza di età tra A e B è maggiore di differenzaMassima
differenzaMassima = differenza di età tra A e B

Al termine differenzaMassima è la massima differenza di età tra gli intervistati.


:sofico: sei un grande,però per noi alle prime armi anche se sono cose facili c'è proprio da sbattere la testa contro le finestre per capirle :muro: :cry: :cry: bella ! thx

Andrea16v
16-10-2006, 20:48
Mia curiosità, che progetto è questo? Scuole superiori o Università?
Il progetto non richiede l'inserimento dei dati in una "struttura dati" (per esempio un array, con relative operazioni di ricerca) ? Nel punto 4 mi raccomando lascia che sia l'utente a specificare l'intervallo.. :)