【发布时间】:2017-06-29 21:29:29
【问题描述】:
我正在尝试制作一个程序,它将用户字符串输入显示为 x 的 5x5 矩阵。 因此,如果用户输入“abc”,则结果输出应该是第一行:
我目前只为显示 a、b 和 c 提供了它,但一旦代码工作,它将扩展到字母表中的每个字母。
我为每一行创建了一个数组,其中包含在每一行中制作一个字母所需的字符。
因此,如果用户输入 abc,程序会将输入拆分为字符数组 ['a','b','c'],然后计算输入的长度 (3)。一个 while 循环开始,它将检查用户输入的第一个元素是什么字母,并将其与 alphaRow1 数组中的正确元素匹配并打印它。 while 循环将重复此操作,直到遍历用户输入中的每个元素。
我目前只尝试了第一行的代码,但稍后会添加其他行。
每次我输入用户输入时,它都会为“a”提供 alphaRow1 元素,无论我输入“b”还是“c”。 while 循环似乎可以正确重复,所以如果我输入 abc,它将显示 'a' 的 alphaRow1 元素 3 次:
Actual output when user input is "abc"
我不确定出了什么问题,所以它每次只显示第一个元素。 while 循环似乎是正确的,并且似乎正在正确递增
alphaRow1 = [" x ","xxxx "," xxxx"];
alphaRow2 = [" x x ","x x","x "];
alphaRow3 = [" xxx ","xxxx ","x "];
alphaRow4 = ["x x","x x","x "];
alphaRow5 = ["x x","xxxx "," xxxx"];
input=prompt("Enter something","Enter here");
letterCount=0;
splitInput = input.split('');
inputLength = input.length;
while (letterCount < inputLength){ //while loop for first row.
if (splitInput[letterCount] = 'a'){ //if selected element in user input
document.write(alphaRow1[0]); //is 'a' display first element from
letterCount++; //alphaRow1
}
else if (splitInput[letterCount] = 'b'){
document.write(alphaRow1[1]);
letterCount++;
}
else if (splitInput[letterCount] = 'c'){
document.write(alphaRow1[2]);
letterCount++;
}
else{
document.write("error");
}
}
【问题讨论】:
标签: javascript arrays while-loop user-input increment