Giorno, riscontro problemi con questo esercizio. ho risolto a grandi linee ma non riesco a completarlo.
l'esercizio è il seguente:
si scriva un programma che simuli una palla che rimbalza calcolando la sua altezza da terra in cm per ogni secondo a mano a mano che il tempo passa su un orologio simulato. al tempo zero la palla comincia ad altezza zero e ha una velocità iniziale data dall'utente. dopo ogni secondo si cambi l'altezza aggiungendo la velocità corrente; quindi si sottragga 96 dalla velocità. se la nuova altezza è inferiore a 0, si moltiplichi altezza e velocità per -0,5 per simulare il rimbalzo. ci si fermi al quinto rimbalzo. l'output deve avere il seguente formato:
* inserisci la velocità iniziale della palla: 300
* tempo: 0 altezza: 0.0
* tempo: 1 altezza: 300.0
* tempo: 2 altezza: 504.0
* ...
* rimbalzo!
* tempo: 8 altezza: 144.0
non riesco a capire il calcolo matematico richiesto per il rimbalzo e me ne vergogno. Di conseguenza non riuscendo a capire dove sia l'errore non ho modo di venirne a capo. Vi chiedo un aiuto.
import java.util.Scanner;
public class Palla_che_Rimbalza {
public static void main(String[] args) {
Scanner tastiera = new Scanner(System.in);
System.out.println("inserisci la velocità iniziale della palla");
double velocita = tastiera.nextDouble();
int tempo = 1;
int rimbalzo = 0;
double h = 0;
while (rimbalzo <= 4) {
h = h + velocita;
velocita = velocita - 96;
if (h > 0.0) {
System.out.println("tempo: " + tempo++ + " altezza: " + h);
}
if (h <= 0.0) {
System.out.println("rimbalzo!");
h = h * -0.5;
System.out.println("tempo: " + tempo++ + " altezza: " + h);
rimbalzo++;
}
}
}
}
sono un autodidatta e non ho modo di chiedere ad altri se non a voi.