Я работаю над домашним заданием для школы, в котором говорится, что «получает два слова в качестве входных данных и печатает одно по вертикали и одно по горизонтали, чтобы они пересекались».
Пример этого:
vertical: coffee
horizontal: suffering
c
o
suffering
f
e
e
Когда я вхожу в кофе и страдания, я получаю это как вывод:
vertical: coffee
horizontal: suffering
c
o
suffering
f
f
e
e
Мой код выглядит следующим образом:
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.print("vertical: ");
String vertical = kb.next().toLowerCase();
System.out.print("horizontal: ");
String horizontal = kb.next().toLowerCase();
boolean indexed = true;
int indexOf = 0;
StringBuilder spaces = new StringBuilder();
while (indexed) {
for (int i = 1; i <= vertical.length()-1; i++) {
String found = vertical.substring(i - 1, i);
spaces.append(" ");
if (horizontal.contains(found)) {
indexOf = i;
indexed = false;
break;
}
}
}
for (int i = 1; i <= vertical.length(); i++) {
if (i == indexOf) {
System.out.println(horizontal);
}
System.out.println(spaces + vertical.substring(i - 1, i));
}
}