Я пытаюсь создать программу, которая будет отображать пользовательский ввод строки в виде матрицы 5x5 x. Таким образом, если пользователь вводит «абв», полученный результат должен быть в первом ряду:Пытается отображать элементы в массиве, основанные на пользовательском вводе
В настоящее время я только сделал его доступным для а, Ь и с, которые будут отображаться, но будет расширяться его каждая буква в алфавите, когда код работает.
Я сделал массив для каждой строки, который содержит символы, необходимые для создания буквы в каждой строке.
Так что если пользователь вводит abc, программа разделяет входные данные на массив символов ['a', 'b', 'c'], а затем подсчитывает длину ввода (3). Начинается цикл while, который будет проверять, чтобы увидеть, в какой букве находится первый элемент пользовательского ввода, и будет соответствовать ему с правильным элементом в массиве alphaRow1 и распечатать его. Цикл while повторит это, пока он не пройдет через каждый элемент пользовательского ввода.
В настоящее время я только попытался выполнить код для первой строки, но позже добавлю другие строки.
Каждый раз, когда я вхожу в пользовательский ввод, он имеет элемент alphaRow1 для 'a', независимо от того, вводю ли я 'b' или'c '. Цикл в то время, как представляется, правильно повторить, так что если я вхожу в аЬс, он будет отображать элемент 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");
}
}
Спасибо! Это сработало! –
Вы можете отметить мой ответ как принятый, чтобы указать, что проблема была решена с использованием моего решения. –