Zufallszahlengenerator

MaTo

Mitglied
Moin Ihr Lieben :)

Ich bin ein Neuling und habe angefangen Wirtschaftsinformatik zu studieren. Für meinen neuen Job soll ich 256, bzw. 255 32Bit Zahlen als Hexadezimalzahlen erstellen, wie z.B. EE0E612C. Nur halt 255 Stück davon.

Jetzt dachte ich könnte ich in Java ein Generator nutzen, der mir 255 verschiedene Hexadezimalzahlen nach dem Zufallsprinzip generiert.

Gibt es dazu schon fertige Programme, bzw. könnt Ihr mir dabei weiterhelfen?

Liebe Grüße :)
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Das ist zimlich einfach.
Es gibt die Klasse [c]Random[/c] und die praktische Methode [c]Integer.toHexString()[/c]:
Java:
Random random = new Random();
List<String> numbers = new ArrayList<String>();
while (numbers.size() < 255) {
    String value = Integer.toHexString(random.nextInt());
    value = StringUtils.leftPad(value.toUpperCase(), 8, '0');
    numbers.add(value);
}
for (String number : numbers) {
    System.out.println(number);
}
Anmerkung: Auf Zeile 5 hab ich [c]toUpperCase()[/c] drin, damit e354 zu E354 wird. Das [c]StringUtils.leftPad()[/c] ist aus einer Lib von Apache und füllt den String vorne mit Nullen, bis der String 8 Zeichen lang ist. Kann natürlich - wenn man die Lib nicht verwenden will - auch von Hand programmiert werden.
 

MaTo

Mitglied
SUPER GEIL!!! Vielen Dank...

Jetzt weiß ich leider nicht genau wie ich es benutzen kann... Wenn ich versuche es in BlueJ zu benutzen, dann erhalte ich nach der Erstellung einer Klasse einen vorgefertigen Rumpf:

Java:
/**
 * Write a description of class Generator here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Generator
{
    // instance variables - replace the example below with your own
    private int x;

    /**
     * Constructor for objects of class Generator
     */
    public Generator()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     * 
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y 
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }
}

Der bringt mir in diesem Fall aber nicht viel.... Wie gehe ich hierbei vor?

Oder sollte ich lieber Eclipse dafür benutzen?

LG :)
 

Gossi

Bekanntes Mitglied
SUPER GEIL!!! Vielen Dank...

Jetzt weiß ich leider nicht genau wie ich es benutzen kann... Wenn ich versuche es in BlueJ zu benutzen, dann erhalte ich nach der Erstellung einer Klasse einen vorgefertigen Rumpf:
Oder sollte ich lieber Eclipse dafür benutzen?

Nimm alles, aber nicht BlueJ, nimm Eclipse oder Netbeans :)
 

HimBromBeere

Top Contributor
Ich weiß gar nicht, was immer alle mit diesem cämlichen BlueJ haben, hab es zwar selbst nie probiert, aber nach allem, was ich bisher hier gelesen habe, scheint es echt der letzte Mist zu sein. Woher bekommt man sowas? Erklärt der Lehrer einem so JAVA?
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Habe bisher auch nur die Webseite angesehen. Es ist vielleicht für manche Sachen nicht verkehrt, grobes OO-Verständnis und einen ersten Einstieg usw. ... Aber ... es könnte sein, dass teilweise Aufgaben gestellt werden, die nichts mit dem eigentlich von BlueJ verfolgten Ziel zu tun haben... (und eine (statische) Utility-Methode, die keine Eingaben bekommt und nur eine List<String> aussuckt, könnte da dazugehören...)
 

Fab1

Top Contributor
Ich weiß gar nicht, was immer alle mit diesem cämlichen BlueJ haben, hab es zwar selbst nie probiert, aber nach allem, was ich bisher hier gelesen habe, scheint es echt der letzte Mist zu sein. Woher bekommt man sowas? Erklärt der Lehrer einem so JAVA?

Viele Lehrer und Professoren greifen am Anfang zu BlueJ. Damit soll man angeblich leichter an OOP Verständnis gewinnen. Selbst habe ich es allerdings auch nur mal kurz angeschaut. Schlecht ist es sicherlich nicht, für den der es mag :)
 

faetzminator

Gesperrter Benutzer
Jetzt weiß ich leider nicht genau wie ich es benutzen kann... Wenn ich versuche es in BlueJ zu benutzen, dann erhalte ich nach der Erstellung einer Klasse einen vorgefertigen Rumpf:

Einfach eine Methode erstellen und den Code (ohne die untere Schleife) reinpacken:
Java:
public List<String> getRandomNumbers() {
    Random random = new Random();
    List<String> numbers = new ArrayList<String>();
    while (numbers.size() < 255) {
        String value = Integer.toHexString(random.nextInt());
        value = StringUtils.leftPad(value.toUpperCase(), 8, '0');
        numbers.add(value);
    }
    return numbers;
}
Von mir aus kann die auch als [c]static[/c] deklariert werden.
 

Gossi

Bekanntes Mitglied
Ich habe einmal bei meinem Kumpel BlueJ benutzt (war für die Schule) und ich muss sagen:

Eclipse or Netbeans ever, BlueJ never (again)
 

MaTo

Mitglied
Nochmals vielen Dank für die Antworten!!!

Für mich als Neuling und als Noob in Java ist BlueJ deutlich einfacher als Eclipse. Gerade wie schon eben erwähnt die OOP, mithilfe von BlueJ einfacher nachzuvollziehen ist.

Habe den Code in eclipse eingefügt:
Java:
	public List<String> getRandomNumbers() 
	{
	    Random random = new Random();
	    List<String> numbers = new ArrayList<String>();
	    while (numbers.size() < 255) 
	    {
	        String value = Integer.toHexString(random.nextInt());
	        value = StringUtils.leftPad(value.toUpperCase(), 8, '0');
	        numbers.add(value);
	    }
	    return numbers;
	}

}

Der kommt damit auch nicht klar und sagt mir: "Multiple markers at this line
-Syntax error on token..." (1. Linie)

Hmm... :(

LG
 

Landei

Top Contributor
Kannst du irgendwo imports angeben? In einer normalen Java-Klasse müsste ganz oben (genauer gesagt hinter einer - allerdings optionalen - Package-Angabe) ein [c]import java.util.Random;[/c] kommen. Ähnliches für StringUtils (aber da gibt es mehrere Varianten, lass das mal testweise weg)
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben