07. maj 2002 - 15:13
Der er
5 kommentarer og
2 løsninger
Generering af en streng
Hvis jeg vil lave en metode der kan lave et alfabetisk brugerID på 4-6 bogstaver baseret på to strenges første 2 tegn, hvorledes gøres dette?
Etc. Skal Kim Bech blive til "KiBe"
String fornavn = "Kim";
String efternavn = "Bech";
String kode = fornavn.substring(0,2) +efternavn.substring(0,2);
Pas på, hvis fornavn eller efternavn kun er eet bogstav langt kommer der en exception:
Throws: StringIndexOutOfBoundsException
if the beginIndex or the endIndex is out of range.
mvh JakobA
Her er en metode der gør det.
public String lavBrugerId(String str1, String str2)
{
String resultat="";
if(str1.length()>=2 && str2.length()>=2)
{
resultat=str1.subString(0,2)+str2.subString(str2);
}
else
{
//Indsæt selv hvad der skal ske hvis begge strenge ikek har længden 2 mindst
}
return resultat;
}
Det var jo lige et spørgsmål mere :)
Her noget noget gammelt kode der bygger på javas random generator. Da det egentlig er en beregning randomgeneratoren bygger på, kan man vel ikke helt sige at den er random, men den er da god nok.
Du kan jo prøve at køre den, og evt lave den om til en metode, eller hvad du har brug for.
Som du ser afhænger passwordets længde af stop værdien i forløkken ( pt. 5 )
Håber du kan bruge det til noget.
QD::
import java.util.Random;
public class PassWord
{
public static void main (String[] args)
{
Random generator = new Random();
String password ="";
for(int i = 0; i <5; i++)
{
int index = Math.abs (generator.nextInt()) % 37 + 0;
String [] alfabet = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","z","æ","ø","å","1","2","3","4","5","6","7","8","9","0"};
String x = alfabet[index];
password = password + x;
}
System.out.println(password);
}
}