Reputation: 259
The assignment asks instead of showing number 25, 75, 125, 175, words should be shown on the page. I have set up the if statement, but for some reason the I cannot get rid of the number 25, 75, 175. Please help!
Thanks in advance.
assignment 2
<script>
//start of Assignment 2-1
var new_text = "";
var randMax = (Math.floor(Math.random() * 200));
for (var i = 1; i < randMax; i++) {
new_text += i;
if (i == 25) {
new_text += "Twenty Five ";
} else if (i == 75) {
new_text += "Seventy Five ";
} else if (i == 125) {
new_text += "one hundred and twenty five ";;
} else if (i == 175) {
new_text += "one hundred and Seventy five ";
} else {
new_text += " ";
}
}
document.write(new_text);
</script>
Upvotes: 0
Views: 122
Reputation: 1
var new_text = "";
var randMax = (Math.floor(Math.random() * 200));
for (var i = 1; i < randMax; i++) {
if (i == 25) {
new_text += "Twenty Five ";
} else if (i == 75) {
new_text += "Seventy Five ";
} else if (i == 125) {
new_text += "one hundred and twenty five ";;
} else if (i == 175) {
new_text += "one hundred and Seventy five ";
} else {
new_text += i;
}
new_text += " ";
}
alert(new_text);
Move "new_text += i" to the else block. Now it gets run at each iteration regardless of the condition
Upvotes: 0
Reputation: 2435
At the beginning of the for loop, you use new_text += i;
. That means it will always append i to your new_text
string. If you want to make it conditional, you need to put it in the else statement.
<script>
//start of Assignment 2-1
var new_text = "";
var randMax = (Math.floor(Math.random() * 200));
for (var i = 1; i < randMax; i++) {
if (i == 25) {
new_text = "Twenty Five ";
} else if (i == 75) {
new_text += "Seventy Five ";
} else if (i == 125) {
new_text += "one hundred and twenty five ";;
} else if (i == 175) {
new_text += "one hundred and Seventy five ";
} else {
new_text += i;
new_text += " ";
}
}
document.write(new_text);
</script>
Upvotes: 1