Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Java empêcher un calcul

Posté par
Riley
13-02-15 à 12:23

Bonjour, je suis en train de créer un programme concernant des stats et j'ai déjà posté un sujet le concernant. J'ai créé cet autre topic car là il s'agit d'un problème bien spécifique donc qui pour une certaine valeur par exemple i > 0 j'ai un calcul effectué, par exemple c = a/b.

Ce qui nous donne:

int c = 0

  if (i < 0){

  c = a/b
}

else (i < 1){

}

Par contre pour une valeur i < 1 le calcul ne doit pas être fait, car division par zéro impossible.

Le problème c'est que je ne sais pas trop quoi mettre dans le  else  pour empêcher que le calcul soit exécuté.

Merci par avance pour votre aide.

Posté par
Glapion Moderateur
re : Java empêcher un calcul 13-02-15 à 12:29

tu peux tester si b est nul ou pas dans le if (i < 0) et ne tester (i<1) que si la condition est respectée

et puis java a aussi une instruction try catch pour capturer ce genre de chose.

Posté par
Riley
re : Java empêcher un calcul 13-02-15 à 12:35

Merci pour ta réponse je vais aller voir pour la fonction try catch

Sinon je me suis trompé dans mon code
voici le bon:
int c = 0

  if (i > 0){

  c = a/b
}

else (i < 1){

}

Posté par
Glapion Moderateur
re : Java empêcher un calcul 13-02-15 à 12:47

Et ça, ça ne te va pas ?

if (i > 0){
if (b <> 0){
c = a/b
}
else { // écrire calcul impossible car b est nul
}
}

if (i < 1 & b <> 0){

}

Posté par
Riley
re : Java empêcher un calcul 13-02-15 à 13:15

Si c'est parfait merci, je vais l'appliquer à mon programme

Posté par
J-P Posteur d'énigmes
re : Java empêcher un calcul 13-02-15 à 13:24



Quelque chose m'échappe.

if (i > 0){
   if (b <> 0){
       c = a/b
   }
...
}

Ne rime pas à grand chose.

Si on passe le test du if(i > 0), i est forcément différent de 0, alors le if (b <> 0) qui suit ne sert strictement à rien.

Non ?

Posté par
Glapion Moderateur
re : Java empêcher un calcul 13-02-15 à 13:28

je ne comprends pas ta remarque, quel rapport entre i ; b et c ? si i est différent de 0, on ne peut rien dire sur a et b à priori ?

Posté par
Riley
re : Java empêcher un calcul 13-02-15 à 13:29

Juste une question, mon programme que j'utilise pour écrire en java n'accepte pas "<>", par quoi je pourrai le remplacer?

Posté par
Glapion Moderateur
re : Java empêcher un calcul 13-02-15 à 13:30

oui, en java s'écrit !=

Posté par
J-P Posteur d'énigmes
re : Java empêcher un calcul 13-02-15 à 13:34

Mal lu ce qui était écrit.

Posté par
Riley
re : Java empêcher un calcul 13-02-15 à 14:15

Ok merci de ton aide

Posté par
Riley
re : Java empêcher un calcul 14-02-15 à 14:32

ReBonjour, voilà j'ai fait ce petit programme et j'ai appliqué les conseils de Glapion.
Par contre mon programme ne fonctionne pas.
Pourriez-vous m'aider à trouvé une solution?
package test;
import java.util.Scanner;

public class moyenne {
static Scanner divid = new Scanner (System.in);
public static void main(String[] args){
int a = 0;
int b = 0;
if (a > 0){
if (b != 0){

int division1 = (a/b);
System.out.println("veuiller inserer le numérateur");
a = divid.nextLine();
System.out.println("veuiller inserer le dénominateur");
b = divid.nextLine();
System.out.println("resultat: "+division1);

}
}
}
}

Posté par
Glapion Moderateur
re : Java empêcher un calcul 14-02-15 à 17:05

je ne comprends pas, tu fais division1 = (a/b) si b est différent de 0 mais juste avant tu viens d'écrire que b=0 et a=0

Posté par
Riley
re : Java empêcher un calcul 14-02-15 à 19:38

Excuse moi, je me suis trompé, en fait pas de soucis, par contre oui tu as raison si b=0 et a=0 pas de sens, mais parce que j'ai oublié de les retirer.
Merci de ton aide.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !