En java

Résolu/Fermé
bouchrot Messages postés 352 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 2 janvier 2023 - 29 oct. 2011 à 22:10
bouchrot Messages postés 352 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 2 janvier 2023 - 30 oct. 2011 à 19:26
Bonjour,

salut a tous je n'ai pas réussis a résoudre cet exercice
Ecrire un programme qui lit deux valeurs entières (A et B) au clavier et qui affiche le signe du produits de A et B sans faire la multiplication

voila ma solution

package exercice4;
import java.util.Scanner;

public class Exercice4 {

public static void main(String[] args) {

Scanner nombre1 = new Scanner(System.in);
int S;
System.out.println("Entrez le nombre 1");
S = nombre1.nextInt();
Scanner nombre2 = new Scanner(System.in);
int T;
System.out.println("Entrez le nombre 2");
T = nombre2.nextInt();
if (S>0 && T<0)
{
System.out.println("le signe de produit est:" - );
}
if (S>0 && T>0)
{
System.out.println("le signe de produit est:" + );
}
else
{
System.out.println("le signe de produit est:" + );
}
}
}


j'aimerais bien que quelqu'un m'aide a sa solution et merci
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
30 oct. 2011 à 13:17
1) À propos de Scanner

Lorsque tu utilises une méthode comme nextInt, nextDouble, etc, il faut que tu utilises un nextLine derrière pour supprimer le \n de fin de ligne (sinon tu vas avoir des problèmes)
De plus ton ordinateur ne reconnait qu'un seul clavier, System.in est donc unique, il est donc inutile de créer plusieurs objets Scanner sur System.in, un seul suffira.

public static void main(String...args) 
{
    Scanner clavier = new Scanner(System.in);

    System.out.print("Entrez le nombre 1 : ");
    int nombre1 = clavier.nextInt(); clavier.nextLine();
    
    System.out.print("Entrez le nombre 2 : ");
    int nombre1 = clavier.nextInt(); clavier.nextLine();
    
    ...
}

2) À propos de ton problème

Regarde ton deuxième if, dans tous les cas tu affiches "+" et ce même si tu as déjà affiché "-" avec le premier if... c'est un peu bizarre !
Utilises un seul if, et aide toi de l'opérateur || (le "ou" en Java) pour construire une condition qui englobe tous les cas où il faut afficher "+", et tu afficheras donc "-" dans le else pour les autres cas.
0
bouchrot Messages postés 352 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 2 janvier 2023 6
30 oct. 2011 à 13:42
en faite ton idée a marché avec un seul scanner
mais le problème reste le même
il est la
System.out.println("le signe de produit est:" - );
il est souligné en rouge
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
30 oct. 2011 à 14:06
oooh, je n'avais même pas vu cette faute là ^^
Le + et le - doivent être à l'intérieur des guillemets, ils font partis de la chaîne de caractères.

System.out.println("le signe de produit est: + ");
System.out.println("le signe de produit est: - ");

Mais ça ne change rien aux autres fautes que j'ai mentionné tout à l'heure ;-)
0
bouchrot Messages postés 352 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 2 janvier 2023 6
30 oct. 2011 à 19:26
oui ta raison j'ai laisser le - a l'extérieur du ""
ça marcher et merci beaucoup
0