0
votes

Comment écrire une formule mathématique en Java

J'essaie de comprendre un moyen de convertir des kilogrammes (entrés par l'utilisateur) en pierre et en livres.

Par exemple:

L'utilisateur entre en poids sous 83.456 kg, multipliez ceci par 2.204622 à Convertissez en livres = 184 lb, divisez 184 lb de 14 à 14 pour convertir en pierre = 13,142 pierre.

Utilisez les deux premiers chiffres (13) pour la pierre et séparer le reste à multiplier par 14 pour obtenir des livres de 14. (Ceci est reste) x 14 = 1,988 lb, ou y a-t-il une autre façon d'obtenir ce résultat?

Par conséquent, le poids des personnes est de 13 pierre et de 2 livres (arrondi). < P> Voici ce que j'ai (cela fonctionne) jusqu'à présent: xxx


4 commentaires

Utilisez long livres = math.round (kgs * 2.204622) , puis utilisez la division / et % des opérateurs de reste pour calculer les pierres et les livres restants.


Ou si, pour une raison quelconque, vous ne vous souciez pas d'utiliser % : long pierre = livres / 14; int LBREM = livres - (pierre * 14);


@Andreas hmm, je penserais que l'on veut étage (c'est-à-dire aller en marche) au lieu de rond (qui peut arrondir ou descendre). Ce qui reste après l'arrondi est la partie fractionnée de la plus grande unité (pierres dans ce cas).


@RobertDODIER Question dit spécifiquement: Par conséquent, le poids des personnes est de 13 pierre et 2 livres ( arrondis ou bas ).


3 Réponses :


2
votes

Je suppose que vous avez déclaré que vous avez déclaré livres code> et pierre code> avant d'y utiliser ici (c.-à-d. avec gounts flottants; code> ou double livres ; code> ou float knings = code> quelque chose) ou le code ne compilerait pas autrement.

Un moyen de le faire est de le faire en 2 étapes distinctes, comme ci-dessous: P>

double kg = 83.456;
double pounds = kg * 2.204622;

int stone = (int) pounds / 14;
pounds = (double) Math.round(pounds %= 14);

System.out.println("Stone: " + stone + "\nPounds: " + pounds);


1 commentaires

Vous avez raison, j'avais déclaré les variables comme double plus tôt dans la classe, alors eu un peu de problèmes avec les autres suggestions. Votre deuxième suggestion est la solution, cela fonctionne bien. J'ai passé beaucoup de temps à essayer de le comprendre, je ne l'aurais pas résolu par moi-même, merci.



1
votes

Si vous recherchez une bibliothèque prête à utiliser extensible, vous pouvez envisager une bibliothèque gratuite et une bibliothèque ouverte Unité de

Il offre 30+ conversion hors de la boîte pour masse .

Exemple : xxx

espère que cela aide!


0 commentaires

0
votes

La solution correcte des tours tôt. Voici le code comme suggéré par Mon commentaire initial < / a>: xxx

sortie xxx

Si vous utilisez plutôt 69.853 kgs , vous obtenez xxx

mais c'est là que la chose est gênée si vous ne voyez pas tôt.


Les deux solutions dans le (actuellement accepté) Réponse de Lightning a tort, car ils rondent au mauvais moment. Il y a une raison pour laquelle vous devez arrondir tôt.

Si vous modifiez pour utiliser 69,853 kg dans ces deux solutions, vous obtenez xxx

Les deux sont évidemment incorrects , puisque livres ne doit pas être 14, alias 1 pierre.

La raison des erreurs d'arrondi devient évidente si vous imprimez les valeurs sans arrondir xxx < / pré>

sortie xxx


1 commentaires

Grande explication. Je comprends maintenant toutes les réponses et pourquoi la vérité est la solution, merci.