Ayuda error al ejecutar el programa
Publicado por julio francisco (2 intervenciones) el 01/10/2014 17:15:46
Conocido el año inicial 2011, con 7.0 milliard d'humains y para una tasa de crecimiento del 1.2% anual, pide introducir una cifra de población en la forma por ej. 8.6, y presentar el listado de los años y la población correspondiente hasta que se llega a esa cifra introducida.
HELP ME PLEASE
el error que obtengo y que no sé cómo resolver
====---- PARTIE 1 ----====
Population en 2011 : 7,000
====---- PARTIE 2 ----====
Combien de milliards (> 7.0) ? 8.6
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at Population.main(Population.java:68)
Lo he intentado con while también y no hay manera. seguro que es una tontería pero no lo pillo.
import java.text.DecimalFormat;
import java.util.Scanner;
public class Population {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#0.000");
Scanner keyb = new Scanner(System.in);
int anneeInitiale = 2011; // annee initiale
double tauxCroissance = 1.2; // taux de croissance, en %
double populationInitiale = 7.0; // population initiale, en milliard d'humains
double populationCourante = populationInitiale; // population mondiale pour l'annee courante
int anneeCourante = anneeInitiale; // annee de calcul
System.out.print("Combien de milliards (> 7.0) ? ");
double populationFinale = keyb.nextDouble();
while (populationInitiale > populationFinale){
populationInitiale = populationInitiale * (1.2 / 100);
anneeInitiale = (anneeInitiale + 1);
System.out.println("Population en " + anneeInitiale + " : " + df.format(populationInitiale));
}
HELP ME PLEASE
el error que obtengo y que no sé cómo resolver
====---- PARTIE 1 ----====
Population en 2011 : 7,000
====---- PARTIE 2 ----====
Combien de milliards (> 7.0) ? 8.6
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at Population.main(Population.java:68)
Lo he intentado con while también y no hay manera. seguro que es una tontería pero no lo pillo.
import java.text.DecimalFormat;
import java.util.Scanner;
public class Population {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#0.000");
Scanner keyb = new Scanner(System.in);
int anneeInitiale = 2011; // annee initiale
double tauxCroissance = 1.2; // taux de croissance, en %
double populationInitiale = 7.0; // population initiale, en milliard d'humains
double populationCourante = populationInitiale; // population mondiale pour l'annee courante
int anneeCourante = anneeInitiale; // annee de calcul
System.out.print("Combien de milliards (> 7.0) ? ");
double populationFinale = keyb.nextDouble();
while (populationInitiale > populationFinale){
populationInitiale = populationInitiale * (1.2 / 100);
anneeInitiale = (anneeInitiale + 1);
System.out.println("Population en " + anneeInitiale + " : " + df.format(populationInitiale));
}
Valora esta pregunta
0