Files
freeCodeCamp/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript.md
2023-06-26 19:56:15 +05:30

90 lines
2.3 KiB
Markdown

---
id: cf1111c1c12feddfaeb1bdef
title: Zufällige Ganzzahlen mit JavaScript generieren
challengeType: 1
videoUrl: 'https://scrimba.com/c/cRn6bfr'
forumTopicId: 18186
dashedName: generate-random-whole-numbers-with-javascript
---
# --description--
Du kannst zufällige Dezimalzahlen mit `Math.random()` erzeugen, aber manchmal musst du zufällige ganze Zahlen erzeugen. Mit dem folgenden Verfahren erhälst du eine zufällige ganze Zahl, die kleiner als `20` ist:
1. Verwende `Math.random()`, um eine zufällige Dezimalzahl zu erzeugen.
2. Multipliziere diese zufällige Dezimalzahl mit `20`.
3. Nutze `Math.floor()`, um auf die ganze Zahl abzurunden.
Denke daran, dass `Math.random()` nie genau eine `1` zurückgeben kann. Es ist also unmöglich, tatsächlich `20` zu erhalten, da du mit `Math.floor()` abrundest. Mit diesem Verfahren erhältst du eine zufällige ganze Zahl im Bereich von `0` bis `19`.
Alles zusammengenommen sieht dein Code folgendermaßen aus:
```js
Math.floor(Math.random() * 20);
```
Du rufst `Math.random()` auf, multiplizierst das Ergebnis mit 20 und übergibst den Wert dann an `Math.floor()`, um den Wert auf die nächste ganze Zahl abzurunden.
# --instructions--
Verwende diese Technik, um eine zufällige ganze Zahl im Bereich von `0` bis `9` zu erzeugen und zurückzugeben.
# --hints--
Das Ergebnis von `randomWholeNum` sollte eine ganze Zahl sein.
```js
assert(
typeof randomWholeNum() === 'number' &&
(function () {
var r = randomWholeNum();
return Math.floor(r) === r;
})()
);
```
Du solltest `Math.random` verwenden, um eine Zufallszahl zu erzeugen.
```js
assert(code.match(/Math.random/g).length >= 1);
```
Du solltest das Ergebnis von `Math.random` mit 10 multiplizieren, damit es eine Zahl im Bereich von null bis neun ergibt.
```js
assert(
code.match(/\s*?Math.random\s*?\(\s*?\)\s*?\*\s*?10[\D]\s*?/g) ||
code.match(/\s*?10\s*?\*\s*?Math.random\s*?\(\s*?\)\s*?/g)
);
```
Du solltest `Math.floor` verwenden, um den Dezimalteil der Zahl zu entfernen.
```js
assert(code.match(/Math.floor/g).length >= 1);
```
# --seed--
## --after-user-code--
```js
(function(){return randomWholeNum();})();
```
## --seed-contents--
```js
function randomWholeNum() {
return Math.random();
}
```
# --solutions--
```js
function randomWholeNum() {
return Math.floor(Math.random() * 10);
}
```