tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1241
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Heiser Heiser ist offline Mitglied
    Registriert seit
    Mar 2010
    Beiträge
    14
    Hi Leute,
    ich versuche von einem array das ('A','B','C','D') mit random nur einen dieser Buchstaben auszugeben. Klappt aber ueberhaupt nicht.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     
    import java.util.Random;
    public class Abc
    {
    char[] c = {'A','B','C','D'};
    Random random = new Random();
    for (int i=0; i<c.length; i++) Fehler!!
    {
     System.out.println(random.nextInt());
    }
    }
     

  2. #2
    THEJS THEJS ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Ort
    Sandl (Oberösterreich)
    Beiträge
    93
    Edit: hatte nicht die geduld und hab 2 mal post geklickt...

    hi!

    hast du die for-schleife wirklich in der Klasse?

    So würds eher funktionieren:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    import java.util.Random;
    public class Abc
    {
      public static void main(String[] args) throws Exception
      {
        char[] c = {'A','B','C','D'};
        Random random = new Random();
        for (int i=0; i<c.length; i++)
        {
          System.out.println(random.nextInt());
        }
      }
    }

    greez
    THEJS
     
    Das Danke: kostet nicht viel und sieht gut aus. ;)

    --> Bitte das Thema als erledigt markieren, wenn es das ist!!

  3. #3
    Heiser Heiser ist offline Mitglied
    Registriert seit
    Mar 2010
    Beiträge
    14
    Hi ,danke fuer deine schnelle Antwort.

    kein Compiler Fehler mehr

    Ausgabe von einem Zufallsbuchstaben des Arrays klappt noch nicht
     

  4. #4
    THEJS THEJS ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Ort
    Sandl (Oberösterreich)
    Beiträge
    93
    Gut!

    Du kannst in der nextInt-Methode die Range angeben:
    Code java:
    1
    2
    3
    4
    
    for (int i = 0; i < c.length; i++)
    {
        System.out.println(c[random.nextInt(c.length-1)]);
    }

    Bzw. musst du halt auch im Sysout dein Array angeben.
     
    Das Danke: kostet nicht viel und sieht gut aus. ;)

    --> Bitte das Thema als erledigt markieren, wenn es das ist!!

  5. #5
    Tomek_FFM Tomek_FFM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Frankfurt am Main
    Beiträge
    67
    1. Du musst dem Random-Objekt mitteilen, das es nur Werte zwischen 0 und 3 annehmen soll .
    2. Du gibst nicht den Zufallswert aus, sondern bestimmst mit dem Zufallswert die Stelle im Char-Array, an der dein Buchstabe enthalten ist.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    import java.util.Random;
     
    public class Abc
    {
      public static void main(String[] args) throws Exception
      {
        char[] c = {'A','B','C','D'};
        Random random = new Random();
        for (int i=0; i<c.length; i++)
        {
          System.out.println(c[random.nextInt(4)]);
        }
      }
    }

    //edit: Bin zu langsam
    Geändert von Tomek_FFM (31.03.10 um 14:25 Uhr)
     

  6. #6
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    Zitat Zitat von Heiser Beitrag anzeigen
    Ausgabe von einem Zufallsbuchstaben des Arrays klappt noch nicht
    warum sollte es auch, schließlich greifst Du mit Deinen Zufallszahlen nicht auf Dein char-Array 'c' zu !
    Schau mal in die API - mit "random.nextInt()" bekommst Du lediglich die nächste der zuvor generierten Zufallszahlen!

    Mit Deiner for-Schleife legst Du nur fest, dass die Ausgabe 4x passieren soll, da Du 4 Elemente im Array hast!

    Du musst Dir eine Logik basteln, die in Abhängigkeit der Zufallszahl auf das entsprechende Element des Array zugreift, bspw.:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    int ENDWERT = 10;
    for (int i = 0; i < ENDWERT; i++)
    {
        int iZahl = random.nextInt();
        if( iZahl < c.length )
        {
            System.out.println( c[iZahl] );
        }
    }

    Dies ist ungetestet, quasi VHIDT

    Gruß
    Klaus
    Geändert von vfl_freak (31.03.10 um 14:24 Uhr) Grund: und wieder mal zu spät :-(
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  7. #7
    Heiser Heiser ist offline Mitglied
    Registriert seit
    Mar 2010
    Beiträge
    14
    Jo danke an alle .Habs endlich

    Tolle hilfe hier!!

    Gruss
     

Ähnliche Themen

  1. Random ohne import / Random-Alternative
    Von Syrill im Forum Java
    Antworten: 4
    Letzter Beitrag: 03.11.10, 08:06
  2. MySQL ausgabe in Array
    Von DerEisige im Forum PHP
    Antworten: 5
    Letzter Beitrag: 01.06.09, 11:42
  3. Array Ausgabe für E-Mail
    Von Hockeyfan4444 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 09.09.08, 12:14
  4. random mit zufälligen array
    Von JesusFreak777 im Forum PHP
    Antworten: 13
    Letzter Beitrag: 10.07.08, 16:32
  5. Denkfehler array ausgabe
    Von Krypthonas im Forum PHP
    Antworten: 2
    Letzter Beitrag: 30.04.03, 17:14