2010-02-11 4 views
0

Je dois faire mon programme choisir aléatoirement entre deux ensembles de nombres (original & complément) mais il y a 5 ensembles de ces boucles. Comment puis-je affecter pour le programme de choisir au hasard entre les deux (original & complément) dans chaque ensemble? ok c'est donc ce que j'ai jusqu'à présent ...Algorithme Java pour la classe aléatoire qui choisit de deux boucles

import java.util.Scanner; 

import java.util.Random; 

public class NumberFinder { 

    int number; 

    int t = 1; 
    int v; 
    Scanner scan = new Scanner(System.in); 

    public void display() 

    { 
     if (t % 4 != 0) 
      System.out.print(v + " "); 
     else 
      System.out.println(v); 

     t++; 

    } 

    public int findNumber() { 

     Random generator = new Random(); 
     { 
      { 
       for (v = 1; v < 32;) { 
        display(); 

        if (v % 2 == 1) 
         v += 2; 
       } 

       for (v = 0; v < 32;) 
        ; 
       { 
        display(); 

        if (v % 2 == 1) 
         v += 2; 
       } 

      } 
      System.out.println("Is your number in this set?"); 

      String response1 = scan.nextLine(); 

      for (v = 2; v < 32;) { 
       display(); 

       if (v % 2 == 0) 
        v++; 
       else 
        v += 3; 
      } 

      for (v = 0; v < 32;) { 
       display(); 
       if (v % 2 == 0) 
        v++; 
       else 
        v += 3; 
      } 

      System.out.println("Is your number in this set?"); 
      String response2 = scan.nextLine(); 

      for (v = 4; v < 32;) { 
       display(); 

       if (v % 4 == 3) 
        v += 5; 
       else 
        v++; 
      } 

      for (v = 0; v < 32;) 
       ; 
      { 
       if (v % 4 == 3) 
        v += 5; 
       else 
        v++; 
      } 

      System.out.println("Is your number in this set?"); 

      String response3 = scan.nextLine(); 

      for (v = 8; v < 32;) { 
       display(); 
       if (v % 8 == 7) 
        v += 9; 
       else 
        v++; 
      } 

      for (v = 0; v < 32;) { 
       display(); 
       if (v % 8 == 7) 
        v += 9; 
       else 
        v++; 

      } 

      System.out.println("Is your number in this set?"); 

      String response4 = scan.nextLine(); 

      for (v = 16; v < 32;) { 
       display(); 
       if (v % 1 == 0) 
        v++; 

      } 

      for (v = 0; v < 32;) { 
       display(); 
       if (v % 1 == 0) 
        v++; 
      } 

      System.out.println("Is your number in the set?"); 
      String response5 = scan.nextLine(); 

      if (response1.equalsIgnoreCase("y")) 
       number += 1; 
      if (response2.equalsIgnoreCase("y")) 
       number += 2; 
      if (response3.equalsIgnoreCase("y")) 
       number += 4; 
      if (response4.equalsIgnoreCase("y")) 
       number += 8; 
      if (response5.equalsIgnoreCase("y")) 
       number += 16; 

      return number; 
     } 

    } 
} 

ok bien le porgram je devais deviner le nombre que vous pensez à entre 0 à 31. on m'a demandé de choisir maintenant 5 ensembles avec leurs compléments (J'ai utilisé des binaires pour trouver les ensembles). Maintenant, même si j'ai 10 ensembles au total, je suis seulement supposé montrer 5 (c'est là que le hasard entre en jeu) je suis censé lui faire choisir entre le complément et l'original au hasard, disons dans un ensemble va montrer le premier complément, puis demandez-moi si mon numéro est en ce que j'ai dit non alors le prochain ensemble de spectacles numériques (cette fois est l'original de la deuxième série). ce que je ne peux pas comprendre est de savoir comment faire cela ... pour la première question à radomely choisir entre l'original et le complément & & puis faire la même chose, mais pour la deuxième question et ainsi de suite jusqu'à la cinquième question.

+1

Pouvez-vous poster le code que vous avez déjà écrit? –

+0

Je ne pense pas que ce que vous essayez de faire soit clair. Est-il possible de donner un exemple de ce que vous attendez de l'entrée et de la sortie du programme? Je remarque que vous créez un générateur appelé aléatoire, mais ne l'utilisez pas n'importe où. –

+0

Est-ce que ce sont les devoirs? – Pool

Répondre

0

Pour commencer, puisque vous créez une instance de java.util.Random - qu'en est-il réellement en utilisant? Ensuite, puisque vous voulez représenter des ensembles de nombres, essayez d'utiliser java.util.HashSet pour les représenter.

Qu'essayez-vous de réaliser avec votre code? Je ne peux pas en faire la tête ni la queue. Essayez d'utiliser des noms de variables significatifs et de les diviser en plus petites méthodes.

Questions connexes