CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JAVA] Problème avec saisie d'un double.

AuSensDuRigolo
AuSensDuRigolo
Niveau 9
22 novembre 2017 à 20:03:22

Salut,

En guise d'exercice pour m'entraîner sur les classes etc... j'ai fait un petit programme pour convertir h décimal en sexa et inversement.

Seulement, j'ai une erreur quand je veux saisir un double décimal pour convertir. Je vous poste le code :

package test;

import test.Arrondir;
import java.util.*;

public class NombreSexagesimaux {

	public static void main(String[] args) {
		System.out.println("Choisir conversion décimale ou sexagésimale; tapez D ou S");
		Scanner sc = new Scanner(System.in);
		char reponse = sc.nextLine().charAt(0);

		while((reponse != 'D') && (reponse != 'S')) {  
			System.out.println("Mauvaise entrée. Saisissez le bon caractère.");
			reponse = sc.nextLine().charAt(0);
		}
		if(reponse == 'S') {
			System.out.println("Entrez l'heure : ");
			int p1 = sc.nextInt();
			System.out.println("Entrez la minute : ");
			int p2 = sc.nextInt();
			System.out.println("Entrez la seconde : ");
			int p3 = sc.nextInt();
			SexaDeci t2 = new SexaDeci(p1,p2,p3);
			System.out.println(p1+"h "+p2+"m "+p3+"s vaut "+Arrondir.getValeur(t2.getDec())+" h");
			
		}
		else {
			System.out.println("Entrez l'heure en valeur décimale : ");
			double p0 = sc.nextDouble();
			SexaDeci t1 = new SexaDeci(p0);
			System.out.println(" h vaut "+t1.getH()+" heure(s) "+t1.getM()+" minute(s) et "+t1.getS()+" seconde(s).");D
		}
	}
}


class SexaDeci{

	public SexaDeci(int h, int m, int s) {
		this.h = h;
		this.m = m;
		this.s = s;
	}

	public SexaDeci(double dec) {
		this.dec = dec;
	}

	double getDec() {
		return (h+m/60.0+s/3600.0);
	}

	int getH() {
		int h = (int)dec;
		return h;		
	}

	double getM() { 
		int minutes = (int)(60*(dec-(int)dec));
		return minutes;
	}

	double getS() {	
		double minutesDec = 60*(dec-(int)dec);
		int minutes = (int)(60*(dec-(int)dec));
		int secondes = (int)(60*(minutesDec - minutes )); 	
		return secondes;
	}

	private int h, m, s;
	private double dec;
}

L'erreur se produit quand je laisse la ligne double p0 = sc.nextDouble();"où p0 c'est l'heure en décimale. Quand je l'enlève et que je mets par exemple SexaDeci t1 = new SexaDeci(2.3); à la place de SexaDeci t1 = new SexaDeci(p0); ça marche. Donc ça merde au niveau du scanner j'ai l'impression.

J'ai ça comme erreur :

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 test.NombreSexagesimaux.main(NombreSexagesimaux.java:30)

Merci d'avance ! https://image.noelshack.com/fichiers/2017/04/1485268586-hackeur-v1.png

Message édité le 22 novembre 2017 à 20:04:29 par AuSensDuRigolo
JamereBurvelle
JamereBurvelle
Niveau 40
22 novembre 2017 à 20:18:07

Tu saisis 2.3 ou 2,3 ?

AuSensDuRigolo
AuSensDuRigolo
Niveau 9
22 novembre 2017 à 20:19:42

2.3

AuSensDuRigolo
AuSensDuRigolo
Niveau 9
22 novembre 2017 à 20:21:01

OMG 2,3 ça marche. https://image.noelshack.com/fichiers/2017/21/1495522635-11487201456-kermit-hautain.png

Quelle est cette diablerie ??? https://image.noelshack.com/fichiers/2017/18/1493774647-1479176457-pretrerisitas.png

JamereBurvelle
JamereBurvelle
Niveau 40
22 novembre 2017 à 20:22:19

Essaie 2,3 :oui:

JamereBurvelle
JamereBurvelle
Niveau 40
22 novembre 2017 à 20:22:41

Je t'avais dit hier, viens on s'entraide entre noobs :bave:

AuSensDuRigolo
AuSensDuRigolo
Niveau 9
22 novembre 2017 à 20:23:08

Oui mais on s'organise comment ??

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment