Во время одного из прогонов моего кода он зашёл в бесконечный цикл. Я использую repl.it , поэтому, когда я нажимаю «Выполнить», ничего не появляется.
Раньше у меня был цикл for, но проблема сохраняется, несмотря на то, что я его удалил. До сих пор я взял ввод имени и создал переменные bo_b
, fo_f
и mo_m
.
import java.util.Scanner;
public class Main {
static String input;
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("What is your name? ");
String input = keyboard.nextLine();
input = input.toLowerCase();
System.out.println("Input: " + input);
String name = Song(input);
System.out.println(name);
}
public static String Song(String str) {
String bo_b = "";
String fo_f = "";
String mo_m = "";
int a = 0;
/* for (int i = 0; i < str.length(); i++) {
a += i;
i = 0;
int i = 0; */
System.out.println(str);
System.out.println("a: " + a + "; i: " + i);
if (!(Character.isLetter(str.charAt(i)))) {
System.out.println("Only letters are alowed");
System.exit(0);
} else if (((str.substring(0, 1)).equals("a") || (str.substring(0, 1)).equals("e") || (str.substring(0, 1)).equals("i") || (str.substring(0, 1)).equals("o") || (str.substring(0, 1)).equals("u"))) {
break;
} else {
str = str.substring(a + 1);
System.out.println("AFTER: " + str);
a -= 1;
}
bo_b = "Bo-B" + str;
fo_f = "Fo-F" + str;
mo_m = "Mo-M" + str;
str = Character.toUpperCase(str.charAt(0)) + str.substring(1);
String result = new String(str + ", " + str + " " + bo_b + ", " + "Bonana Fanna " + fo_f + ", " + "Fe fi "
+ mo_m + ", " + str);
return result;
}
}
}
Извините за изложение всего моего кода, поскольку я не знаю, откуда возникла ошибка.
Я ожидаю, что код проверит символы в начале строки. Обратите внимание, что я не закончил с этим проектом. Цель этого кода - взять ввод имени и вставить его в «Игру имени» (Бонана, Фанна и т. Д.) Ширли Эллис.