Я боролся с этим домашним заданием пару дней.Я был в состоянии импортировать другой текстовый файл, содержащий только фамилии совершенно отлично, но для имен мальчиков есть число, точка и пробел перед каждым именем.
Существует также вкладка после каждого имени.Для имен девочек по большей части они разделены просто пробелом, но между некоторыми именами есть вкладка, случайно расположенная между ними.Имена для мальчиков и девочек нелегко разделить по новым строкам и, в основном, по длинным строкам.
Так выглядят имена в текстовом файле для мальчиков
(вкладки не выглядят такЯ ставлю "\ t" там, где должна быть вкладка)
- Лиам \ т 2. Ноа \ т 3. Уильям \ т 4. Джеймс \ т 5. Логан \ т 6.Бенджамин \ t 7. Мейсон \ t 8. Илия \ t
Так выглядят имена в текстовом файле для девочек
(вкладки не отображаются, поэтому я ставлю«\ t» там, где должна быть вкладка)
Эмма Оливия \ t Ава Изабелла София \ t Миа Шарлотта \ t Амелия \ t Эвелин Эбигейл Харпер Эмили \ t Элизабет \ t Avery
public static void main(String[] args) throws IOException {
FileReader fr = new
FileReader("C:\\Users\\siegh\\Desktop\\lastNames0219.txt");
FileReader fr1 = new
FileReader("C:\\Users\\siegh\\Desktop\\boyNames0219.txt");
FileReader fr2 = new
FileReader("C:\\Users\\siegh\\Desktop\\girlsNames0219.txt");
BufferedReader br = new BufferedReader(fr);
BufferedReader br1 = new BufferedReader(fr1);
BufferedReader br2 = new BufferedReader(fr2);
String line = "";
/*String[] tokens = str.split("\t")
*String[] tokens = str.split("\t");
*String[] tokens = str.split("\n");
*String[] tokens = str.split("[\t, \n]");
*/
ArrayList<Names> lastNames = new ArrayList<>();
while ((line = br.readLine()) != null) {
String[] tokens = line.split(" ");
Names n = new Names();
n.lastName = tokens[0];
lastNames.add(n);
}
ArrayList<Names> boysNames = new ArrayList<>();
while ((line = br1.read()-*) != null) {
String[] tokens = line.split("[,\t,.]+");
Names bn = new Names();
bn.firstNameBoy = tokens[0];
boysNames.add(bn);
}
ArrayList<Names> girlsNames = new ArrayList<>();
while ((line = br2.readLine()) != null) {
String[] tokens = line.split("[., ]");
Names gn = new Names();
gn.firstNameGirl = tokens[0];
girlsNames.add(gn);
}
StringBuilder javaText = new StringBuilder();
javaText.append("String[] firstNameBoy = { ");
for (Names bn: boysNames) {
javaText.append('\"' + bn.firstNameBoy.replaceFirst("", "") +
"\", ");
}
javaText.append("};");
StringBuilder javaText1 = new StringBuilder();
javaText1.append("String[] firstNameGirl = { ");
for (Names gn: girlsNames) {
javaText1.append('\"' + gn.firstNameGirl.replaceFirst("", "") +
"\", ");
}
javaText1.append("};");
StringBuilder javaText2 = new StringBuilder();
javaText2.append("String[] lastName = {");
for (Names n: lastNames) {
javaText2.append('\"' + n.lastName.replaceFirst(" ", "") + "\",
");
}
javaText2.append("};");
System.out.println(javaText);
// System.out.println();
// System.out.println();
// System.out.println(javaText1);
// System.out.println();
// System.out.println();
// System.out.println(javaText2);
}
}
Конечная цель - получить массив из 1200 имен.600 имен мальчиков и 600 имен девочек со случайно сгенерированными фамилиями, прикрепленными к каждому.
Это то, что я получаю, когда запускаю свой код.
String [] firstNameBoy = {"1",};