Random letters genereren

  • Onderwerp starter Onderwerp starter mas
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

mas

Gebruiker
Lid geworden
1 dec 2003
Berichten
86
Hallo,
Ik moet een method schrijven (in java) dat willekeurige letters geeft. Ik heb al op het net gezocht, maar werd er niet veel wijzer van:( Ik weet wel hoe je random cijfer kunt genereren, maar voor letters wet ik het dus niet. Als iemand mij kon helpen zou ik heel dankbaar zijn :D

greetz Mas
 
hoe doe je het dan met cijfers?
 
stel je wilt een random getal tussen 0-10 wilt. Dan gebruikt je het volgend stukje code:
Random getal = new Random();
int g = getal.nextInt(11);

Wil je een getal tussen 1-10 dan gebruik je:
int g = 1 + getal.nextInt(10)
 
Code:
public void paint( Graphics g ) {
	String k;
	for( int i = 0; i < 10; i++ ) {
		k = "^" + ( char )( ( Math.random() * 26 ) + 65 );
		g.drawString( k.substring(1), ( 20 + ( i * 20 ) ), 20 );
	}
}

Of het volgens alle daarvoor geldende regels is weet ik niet, maar ik krijg hiermee in elk geval 10 random letters.
 
Geplaatst door mooncrawler
Code:
public void paint( Graphics g ) {
	String k;
	for( int i = 0; i < 10; i++ ) {
		k = "^" + ( char )( ( Math.random() * 26 ) + 65 );
		g.drawString( k.substring(1), ( 20 + ( i * 20 ) ), 20 );
	}
}

Of het volgens alle daarvoor geldende regels is weet ik niet, maar ik krijg hiermee in elk geval 10 random letters.

hmm ik weet niet waarom je hier met graphics g2 enzo werkt :eek: Maar iig geval bedankt :) Ik heb het inmiddels al opgelost :D
 
Geplaatst door mas


hmm ik weet niet waarom je hier met graphics g2 enzo werkt :eek:

Omdat je vraagt om Java. Het bovenstaande komt uit een test-applet, maar omdat je hier antwoordt met Java terwijl er om JavaScript gevraagd wordt, vraag ik me af of je überhaupt het verschil wel weet.
 
Je hebt gelijk, het ligt aan mij. Ik zal mijn antwoord in dat andere thread verwijderen.
 
Geplaatst door mas
Je hebt gelijk, het ligt aan mij. Ik zal mijn antwoord in dat andere thread verwijderen.

Zo hoeft het nou ook weer niet.
Blijkbaar maak je Java-applications en waren applets je niet of minder bekend. Vertel ons dan in elk geval hoe je een en ander hebt opgelost, dan kunnen wij ook nog iets leren.
 
:) Idd ik heb java appelets en java applications door elkaar gehaald:confused:

Maar ik heb het dus als volgt opgelost:
eerst een arraylist gemaakt met de letters van het alfabet. En dan een willekeurig veld uit de arraylist laten oproepen. Het code zit er dan als volgt uit:

import java.util.*;

public class RandomLetters
{
public RandomLetters()
{
generator = new Random();
}

// Gokt een letter en zet de letter in een Arraylist
public String gokLetters()
{
// Vult de arraylist met letters
letter = new ArrayList<String>();

for(int i = 0; i < LETTERS_TOTAAL; i++)
{
letter.add(ALLE_LETTERS.substring(i,(i + 1)));
}

// Gokt een willekeurig plaats in de arraylist
getal = generator.nextInt(letter.size());

gegokteLetter = letter.get(getal);

// Verwijdert de gegokte letter uit de arraylist
letter.remove(gegokteLetter);

return gegokteLetter;
}

// Geeft de lengte van de arraylist
public int getLengteArrayList()
{
lengte = letter.size();
return lengte;
}




// Instantie variabelen
private Random generator;
private int aantalLetters;
private int getal;
private String gegokteLetter;
private int lengte;
private ArrayList<String> letter;


// Constanten
public final int LETTERS_TOTAAL = 26;
public final String ALLE_LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
}

Ik be niet 100% zeker of dit de juiste manier is, maar hij doet het wel iig:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan