IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Exercice débutant sur Java


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut Exercice débutant sur Java
    je vais utiliser ce post pour mes questions sur java pour ne pas crée plusieurs post .


    bonsoir, j'ai une autre question, toujours pour m'entrainer j'ai un script qui calcul le périmetre d'un cercle (la formule est fausse pour pi car c'était juste pour testé le comportement)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    package Test;
    import java.util.Scanner;
     
     
    public class Test{
     
    	public static void main (String[] ars)
    	{
    		float resultat;
    		int valeur;
     
    		Scanner sc = new Scanner(System.in);
    		System.out.println("valeur du rayon :");
    		valeur = sc.nextInt();
    		resultat = perimetre(valeur);
    		System.out.println("le rayon =" + valeur +" perimetre" + resultat);
    	}
     
    	public static float perimetre(int r)
    	{
    		float p;
    		p = 2 *1.5 * r; // c'est un exemple pi 3.14 ou Math.pi
    	    return p;
    	}
     
    }
    ici le résultat est un chiffre ron si je tape 5 le p sera égale a 15.
    Pour que cela fonctionne je doit caster le calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    p = (float)(2 * 1,5 * r);
    ou je doit mettre tous mes type en double

    le résultat est pourant rond (15) ?? et 1,5 fait partie des float ?
    tous les résultats même sont considérer en double ??

    merci pour ces précisions.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Je dirais que tu pourrais utiliser ceci qui passerait dans tout les cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static double perimetre(double r)
    	{
    		return Math.PI*r*r; // c'est un exemple pi 3.14 ou Math.pi
    	}
    que tu lui passes un int, un float ou un double ca sera casté automatique pour la variable d'entrée et de sortie et qui en plus ne te limiterai pas a utiliser des entier en entrée.

    Mais en fait pourquoi vouloir "caster un resultat en double" ? alors que tu joues avec un integer et un float?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    wax: il ne veux pas caster en double, il veux travailler en float. Et non, et c'est le problème, il ne joue pas avec des integer et des float.

    En java: "1.5" c'est un double, pas un float. Un float, ce serait "1.5f". Comme il s'agit d'un calcul, integer* double * integer, le compilateur exige un résultat en double. Pour corriger:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	public static float perimetre(int r)
    	{
    		float p;
    		p = 2 *1.5f * r; // c'est un exemple pi 3.14 ou Math.pi
    	    return p;
    	}

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci de ces réponses, je n'ai encore pas assez de pratique
    j'avais oublié ces petit lettre d pour double ou f pour float

    maintenant je sais que toutes les valeurs a 1.quelque chose sont des double

    il faut vraiment penser a tous avec java, j'espère que je n'ai pas trop une mauvaise habitude avec le php

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    remarquez qu'a part un peu de mémoire perdu, autant utiliser directement double partout

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/11/2014, 02h27
  2. débutant en java(exercice)
    Par hammouch dans le forum Langage
    Réponses: 2
    Dernier message: 23/02/2007, 10h35
  3. [Débutant] Application java sur PDA
    Par Anthony17 dans le forum Développement Mobile en Java
    Réponses: 4
    Dernier message: 02/10/2006, 01h59
  4. [débutant] application Java sur PDA
    Par Anthony17 dans le forum Java ME
    Réponses: 2
    Dernier message: 02/05/2006, 11h52
  5. [Débutant] Questions de base sur java
    Par JajaY dans le forum Langage
    Réponses: 2
    Dernier message: 04/04/2006, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo