L’une des découvertes humaines passionnantes est que la masse et l’énergie sont interchangeables et liées par l’équation E = M × C 2. Albert Einstein a découvert cette relation il y a près de 100 ans et nous savons maintenant que le soleil produit sa chaleur en transformant de petites quantités de masse en grandes quantités d'énergie.

Ecrivez un programme qui lit continuellement une masse saisie par l’utilisateur et qui calclule et affiche la quantité d’énergie correspondante. Presentez les résultats de la manière suivante:

Si vous demandez à l'utilisateur de saisir des kilogrammes et que vous utilisez une vitesse de la lumière égale à 299792458 (qui est en mètres par seconde) le résultat du calcul de E = M × C 2 sera à Joules.

Notez que 3.0E8 est la notation scientifique pour 3.0 &fois; 10 8... lequel est 300,000,000. Vous n'avez rien à faire pour que Java imprime les doubles en notation scientifique. Cela se fera automatiquement lorsque les chiffres seront suffisamment gros.

Puisque la vitesse de la lumière ne changera jamais, il est logique de la déclarer constante.

Solution

import acm.program.ConsoleProgram;
	
/**
* Program: EMC2
* -------------
* Ce programme aide les utilisateurs à calculer la quantité d’énergie qu’ils
* pourraient obtenir s’ils transformaient leur masse. Merci Einstein!
*/
public class EMC2 extends ConsoleProgram {

	// Cela déclare une constante ... dont la valeur ne peux jamais estre modifiee.
	// Vitesse de la lumière en m/s
	private static final double C = 299792458;

	public void run() {
		while(true) {
			// Lire la masse de l'utilisateur.
			double masseEnKg = readDouble("Entrez votre masse en kilogrammes: ");

			// Calculer l'énergie
			double energieEnJoules = masseEnKg * C * C;

			// Affiche le résultat à l'utilisateur
			println("e = m * C^2...");
			println("m = " + masseEnKg + " kg");
			println("C = " + C + " m/s");
			println(energieEnJoules + " joules d'énergie!");
			println("");
		}
	}
}