Boolean

Résolu
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 25 juil. 2010 à 08:43
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 27 juil. 2010 à 17:58
bonjour,
j'ai essayé ce prg,après avoir exécuté ce prg
que j'ai constaté il n'entre pas dans le boucle y et n
aidez moi s'il vous plaît
package Textprg;
import java.util.Scanner;
public class Guessingame1 
{
public static void main(String[]args)
    {
      System.out.println("Let's play a game,I'll pick a nb between");
      System.out.println("1 and 100,and you try to guess it");
      boolean playagain;
            playgame();
            String saisieuser="";
            while(!saisieuser.equals("y")&& !saisieuser.equals("n"));
            {
            System.out.println("would you like to play again (y/n");
            Scanner sc=new Scanner(System.in);
            saisieuser=sc.nextLine();
            }
            playagain=(saisieuser.equals("y"));
    }
    
            
      static void playgame()
      {
       int computersnb;
       int usersguess;
       int guesscount=0;
       computersnb=(int)(100*Math.random())+1;
       System.out.println("");
       System.out.println("What is your first guess?");
       while(true)
       {
    	   Scanner sc1=new Scanner(System.in);
    	   usersguess=sc1.nextInt();
    	   guesscount++;
    	   if(usersguess==computersnb)
    	   {
    		   System.out.println("You get in "+guesscount+" Guesses!My nb was "+computersnb);
    		   break;
    	   }
    	   if (guesscount==6)
    	   {
    		   System.out.println("You didn't get the nb in 6 guesses");
    		   System.out.println("You lose.My nb was "+computersnb);
    		   break;
    	   }
       if(usersguess<computersnb)
    	   System.out.println("That is too bas, try again");
       else if(usersguess>computersnb)
    	   System.out.println("That's too high Try again");
       }
       System.out.println("");
      }
}


resultat de ce prg:
Let's play a game,I'll pick a nb between
1 and 100,and you try to guess it

What is your first guess?
50
That is too bas, try again
80
That's too high Try again
70
That's too high Try again
55
That is too bas, try again
58
That's too high Try again
56
You get in 6 Guesses!My nb was 56

2 réponses

cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
27 juil. 2010 à 17:58
merci beaucoup,j'ai corrigé mon programme

package Textprg;
import java.util.Scanner;
public class Guessingame1 
{
public static void main(String[]args)
    {
      System.out.println("Let's play a game,I'll pick a nb between");
      System.out.println("1 and 100,and you try to guess it");
      boolean playagain;
      do{
    	 playgame();
    	 
    	 String saisieuser="";
    	 while
    		 (!saisieuser.equals("y")&& !saisieuser.equals("n"))
    	{
    		 System.out.println("Would you like to play agin(y/n)");
    		 Scanner sc=new Scanner(System.in);
    		 saisieuser=sc.nextLine();
    	 }
        playagain=(saisieuser.equals("y"));
      }
          while(playagain);
      System.out.println("Thanks for playing.Goodbye.");
    }
           
      static void playgame()
      {
       int computersnb;
       int usersguess=-1;
       int guesscount=0;
       computersnb=(int)(100*Math.random())+1;
       System.out.println("");
       System.out.println("What is your first guess?");
       while(true)
       {
    	   Scanner sc1=new Scanner(System.in);
    	   try
    	   {
    		   usersguess=sc1.nextInt();
    	   }
    	   catch(Exception e)
    	   {
    		   System.out.println("Only use an integer,please!");
    		   usersguess=-1;
    	   }
    	   
    	   guesscount++;
    	   if(usersguess==computersnb)
    	   {
    		   System.out.println("You get in "+guesscount+" Guesses!My nb was "+computersnb);
    		   break;
    	   }
    	   if (guesscount==6)
    	   {
    		   System.out.println("You didn't get the nb in 6 guesses");
    		   System.out.println("You lose.My nb was "+computersnb);
    		   break;
    	   }
       if(usersguess<computersnb && usersguess !=-1)
    	   System.out.println("That is too bas, try again");
       else if(usersguess>computersnb)
    	   System.out.println("That's too high Try again");
       }
       System.out.println("");
      }
}



3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 juil. 2010 à 18:01
le .equals sur les chaines de caracteres compare les références, ce booléen sera toujours faut, utilises un .compareTo("y")==0
0
Rejoignez-nous