En java

Résolu
bouchrot Messages postés 351 Date d'inscription   Statut Membre Dernière intervention   -  
bouchrot Messages postés 351 Date d'inscription   Statut Membre Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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 351 Date d'inscription   Statut Membre Dernière intervention   6
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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 351 Date d'inscription   Statut Membre Dernière intervention   6
 
oui ta raison j'ai laisser le - a l'extérieur du ""
ça marcher et merci beaucoup
0