2016-10-07 1 views
0

学校のために私は男性と女性の名前のためのランダムな名前ジェネレータを作る必要があり、私たちはそれの前に数字を置く必要がありますが、どのようにそれを行うかを理解する。ジェネレータ自体は動作していますが、数字の部分はわかりません。数字は1から最大100まで増やす必要があります。この名前ジェネレータを働かせる方法を見つけ出す

var number = ["1", "2", "3", "4", "5"]; 
var randomnumber = Math.floor(Math.random() * number.length); 
var counter = number[randomnumber]; 

document.write("Female Names"); 
document.write("<br>"); 
function femaleName(){ 
// My variables. 
// Klinkers. 
var klinker = ["o", "a", "i", "e", "u"]; 
var randomnumberk = Math.floor(Math.random() * klinker.length); 
var randomklinker = klinker[randomnumberk]; 
var randomnumberk1 = Math.floor(Math.random() * klinker.length); 
var randomklinker1 = klinker[randomnumberk1]; 
var randomnumberk2 = Math.floor(Math.random() * klinker.length); 
var randomklinker2 = klinker[randomnumberk2]; 
var randomnumberk3 = Math.floor(Math.random() * klinker.length); 
var randomklinker3 = klinker[randomnumberk3]; 
var randomnumberk4 = Math.floor(Math.random() * klinker.length); 
var randomklinker4 = klinker[randomnumberk4]; 
// Medeklinkers. 
var medeklinker = ["b", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "w", "z",] 
var randomnumbermk = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker = medeklinker[randomnumbermk]; 
var randomnumbermk1 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker1 = medeklinker[randomnumbermk1]; 
var randomnumbermk2 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker2 = medeklinker[randomnumbermk2]; 
var randomnumbermk3 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker3 = medeklinker[randomnumbermk3]; 
var randomnumbermk4 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker4 = medeklinker[randomnumbermk4]; 
document.write(number, randomklinker, randommedeklinker, randomklinker1, randommedeklinker1, randomklinker2); 
document.write("<br>"); 
} 

for (var i = 0; i < 6; i++) { 
femaleName(); 
} 

document.write("<br>"); 
document.write("<br>"); 
document.write("<br>"); 
document.write("Male names"); 
document.write("<br>"); 

function maleName(){ 
// My variables. 
// Klinkers. 
var klinker = ["o", "a", "i", "e", "u"]; 
var randomnumberk = Math.floor(Math.random() * klinker.length); 
var randomklinker = klinker[randomnumberk]; 
var randomnumberk1 = Math.floor(Math.random() * klinker.length); 
var randomklinker1 = klinker[randomnumberk1]; 
var randomklinker2 = klinker[randomnumberk2]; 
var randomnumberk3 = Math.floor(Math.random() * klinker.length); 
var randomklinker3 = klinker[randomnumberk3]; 
var randomnumberk4 = Math.floor(Math.random() * klinker.length); 
var randomklinker4 = klinker[randomnumberk4]; 
// Medeklinkers. 
var medeklinker = ["b", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "w", "z",] 
var randomnumbermk = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker = medeklinker[randomnumbermk]; 
var randomnumbermk1 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker1 = medeklinker[randomnumbermk1]; 
var randomnumbermk2 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker2 = medeklinker[randomnumbermk2]; 
var randomnumbermk3 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker3 = medeklinker[randomnumbermk3]; 
var randomnumbermk4 = Math.floor(Math.random() * medeklinker.length); 
var randommedeklinker4 = medeklinker[randomnumbermk4]; 
document.write(randommedeklinker, randomklinker, randommedeklinker1, randomklinker1, randommedeklinker2); 
document.write("<br>"); 
} 

for (var i = 0; i < 6; i++) { 
    maleName(); 
} 

ここに誰かがこの問題を助けてくれることを願っています。

+0

おかげで助けをみんなに。私はeveryonesの助けのおかげで問題を今修正することができました。 – Siteruben

答えて

0

コードを改善する必要があります。今のところ、ここに解決策があります...

document.write(番号、randomklinker、randommedeklinker ...);

変更番号に(I + 1)

0

私はあなたが望むものを完全に明確ではないんだけど、それは、それぞれの名前の前にシーケンス番号を追加するなら、あなただけ(i + 1として変数を宣言する必要がありますさらにスペースのような書式設定)。 + 1は、iのインデックスがゼロであるためです。お役に立てれば。ループが繰り返されるたびに、シーケンス番号が増えます。

var number = ["1", "2", "3", "4", "5"]; 
 
var randomnumber = Math.floor(Math.random() * number.length); 
 
var counter = number[randomnumber]; 
 

 
document.write("Female Names"); 
 
document.write("<br>"); 
 
function femaleName(){ 
 
var sequenceNumber = i + 1 + ' '; 
 
// My variables. 
 
// Klinkers. 
 
var klinker = ["o", "a", "i", "e", "u"]; 
 
var randomnumberk = Math.floor(Math.random() * klinker.length); 
 
var randomklinker = klinker[randomnumberk]; 
 
var randomnumberk1 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker1 = klinker[randomnumberk1]; 
 
var randomnumberk2 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker2 = klinker[randomnumberk2]; 
 
var randomnumberk3 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker3 = klinker[randomnumberk3]; 
 
var randomnumberk4 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker4 = klinker[randomnumberk4]; 
 
// Medeklinkers. 
 
var medeklinker = ["b", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "w", "z",] 
 
var randomnumbermk = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker = medeklinker[randomnumbermk]; 
 
var randomnumbermk1 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker1 = medeklinker[randomnumbermk1]; 
 
var randomnumbermk2 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker2 = medeklinker[randomnumbermk2]; 
 
var randomnumbermk3 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker3 = medeklinker[randomnumbermk3]; 
 
var randomnumbermk4 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker4 = medeklinker[randomnumbermk4]; 
 
document.write(sequenceNumber, randomklinker, randommedeklinker, randomklinker1, randommedeklinker1, randomklinker2); 
 
document.write("<br>"); 
 
} 
 

 
for (var i = 0; i < 6; i++) { 
 
femaleName(); 
 
} 
 

 
document.write("<br>"); 
 
document.write("<br>"); 
 
document.write("<br>"); 
 
document.write("Male names"); 
 
document.write("<br>"); 
 

 
function maleName(){ 
 
var sequenceNumber = i + 1 + ' '; 
 
// My variables. 
 
// Klinkers. 
 
var klinker = ["o", "a", "i", "e", "u"]; 
 
var randomnumberk = Math.floor(Math.random() * klinker.length); 
 
var randomklinker = klinker[randomnumberk]; 
 
var randomnumberk1 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker1 = klinker[randomnumberk1]; 
 
var randomnumberk2 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker2 = klinker[randomnumberk2]; 
 
var randomnumberk3 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker3 = klinker[randomnumberk3]; 
 
var randomnumberk4 = Math.floor(Math.random() * klinker.length); 
 
var randomklinker4 = klinker[randomnumberk4]; 
 
// Medeklinkers. 
 
var medeklinker = ["b", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "w", "z",] 
 
var randomnumbermk = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker = medeklinker[randomnumbermk]; 
 
var randomnumbermk1 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker1 = medeklinker[randomnumbermk1]; 
 
var randomnumbermk2 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker2 = medeklinker[randomnumbermk2]; 
 
var randomnumbermk3 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker3 = medeklinker[randomnumbermk3]; 
 
var randomnumbermk4 = Math.floor(Math.random() * medeklinker.length); 
 
var randommedeklinker4 = medeklinker[randomnumbermk4]; 
 
document.write(sequenceNumber, randommedeklinker, randomklinker, randommedeklinker1, randomklinker1, randommedeklinker2); 
 
document.write("<br>"); 
 
} 
 

 
for (var i = 0; i < 6; i++) { 
 
    maleName(); 
 
}

1

質問のこれらの種類は、いつも私は最良の答え何を疑うします。明らかに、RRZによって提供されるソリューションは、答えとしてマークする必要があります。 しかし、は、あなたのコードが明確かつ簡潔な問題で書かれていることを確認すれば、あなた自身がそれを見つけたでしょう!

私はあなたの宿題をしたくありませんが、私はあなたにこのプログラムを書く別の方法を示したいと思います。

  • 小さな問題へのあなたの問題を細分化してみてください:
    • がで一緒に母音と子音の連鎖
    • ランダム子音を取得ランダム母音
    • を取得する5
    • に番号1を取得しますシーケンス
    • 文書への名前の付け方
  • たくさん発生するこれらの問題のどれ考える
  • てみてください、それらを独自の関数を与える
  • スタートあなたのプログラムの「設定」を定義することによって
    • あなたはパターン何
    • を生成するにはどうすればよい多くの名前女性の名前の
    • このもう少し有形作るために男性の名前のパターン

  • 、I'v eはこれらの弾丸に答える方法でコードを実装:

    // Settings 
     
    var NR_OF_NAMES = 6, 
     
        // K = Klinker, M = Medeklinker 
     
        FEMALE_NAME_PATTERN = "KMKMK", 
     
        MALE_NAME_PATTERN = "MKMKM"; 
     
    
     
    function getRandomIntBelow(max) { 
     
        return Math.floor(Math.random() * max); 
     
    }; 
     
    
     
    function getRandomFromArray(array) { 
     
        return array[getRandomIntBelow(array.length)]; 
     
    } 
     
    
     
    function getRandomKlinker() { 
     
        return getRandomFromArray(["o", "a", "i", "e", "u"]); 
     
    } 
     
    
     
    
     
    function getRandomMedeklinker() { 
     
        return getRandomFromArray(["b", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "w", "z"]); 
     
    } 
     
    
     
    function getNameByPattern(pattern) { 
     
        return pattern 
     
        .split("") // Array of characters 
     
        .map(function(code) { 
     
         // Replace M by medeklinker 
     
         if (code === "M") return getRandomMedeklinker(); 
     
         // Replace K by klinker 
     
         if (code === "K") return getRandomKlinker();  
     
        }) 
     
        .join(""); // Back to string 
     
    } 
     
    
     
    // Document creation: 
     
    
     
    // Render a list of names 
     
    function writeNameBlock(pattern, count) { 
     
        for (var i = 0; i < count; i++) { 
     
        document.write("<br>"); 
     
        document.write(i + 1 + ". "); 
     
        document.write(getNameByPattern(pattern)); 
     
        } 
     
    } 
     
    
     
    // Render the outlinse and include two lists 
     
    document.write("Female Names"); 
     
    writeNameBlock(FEMALE_NAME_PATTERN, NR_OF_NAMES); 
     
    document.write("<br>"); 
     
    document.write("<br>"); 
     
    document.write("Male names"); 
     
    writeNameBlock(MALE_NAME_PATTERN, NR_OF_NAMES);

  • 関連する問題