Structure conditionnelle

Résolu
Bonsoir !

Je voulais simplement savoir s'il existait, en java, une fonction pour faire une action ou une autre aléatoirement selon une condition ! En clair, quelque chose qui traduirait ceci :

if(condition)
    {
     int random = 1 + (int) (Math.random() * 2);
     if (random =1)
         {
          blablabla
         }
    else 
         {
          blablabla
         }
    }


C'est juste histoire d'alléger le code, et histoire de nourrir ma curiosité ^_^

Merci, bonne soirée !

2 réponses

  1. Modérateur
    Comme tu as fait c'est bien, mais en utilisant plutôt un vrai objet Random.

    private static final Random random = new Random();
    
    if (random.nextBoolean())
    {
        // ...
    }
    else
    {
        // ...
    }
    1. Ça ne marche pas, j'ai "Illegal modifer parameter for random; only final is permitted." je ne sais pas ce que c'est ! Peux-tu m'éclaircir ?

      Merci
      1. Modérateur
        C'est parce que tel que je l'ai écrit il faut mettre la déclaration de l'objet Random en dehors de la méthode.

        public class Classe
        {
            private static final Random random = new Random();
        
            //...
        
            void methode()
            {
                // ...
                
                if (random.nextBoolean())
                {
                    // ...
                }
                else
                {
                    // ...
                }
                
                // ...
            }
        }

        On peut bien sûr l'utiliser comme n'importe quel autre objet, mais effectivement dans ce cas les mots-clés private et static ne peuvent pas être utilisés :

        public class Classe
        {
            //...
        
            void methode()
            {
                final Random random = new Random();
                
                // ...
                
                if (random.nextBoolean())
                {
                    // ...
                }
                else
                {
                    // ...
                }
                
                // ...
            }
        }
      2. Je maîtrise pas vraiment les objets en fait ! Merci de ton aide en tous cas !