Мои мысли/вопросы:Java: удаление кавычки из строки
Я работаю на вызов Java (направления ржали). У меня есть Часть 1 завершена (показано в нижеследующем коде). Я очень близок к тому, что Часть 2/3 закончена.
Как вы увидите в моем коде, у меня есть 2 for-loops. Первый, чтобы выполнить итерацию по массиву отсортированных имен. Второй, чтобы перебирать символы в каждом имени.
Как указано в направлениях, для каждого символа должны генерироваться значения int, и эти значения затем добавляются. Итак, A равно 1, B равно 2, C - 3 ... и ABC равно 6. Затем эти значения int умножаются на индексный номер данного String/name. Итак, если ABC (со значением 6) находилась в индексе 2, то это будет 12.
После того, как вышеописанный шаг будет завершен, я должен суммировать все оценки (каждый балл имен).
Приведенное выше мое понимание направлений.
Проблема заключается мой результат выглядит следующим образом:
"AARON"
0
"ABBEY"
-25
"ABBIE"
-82
"ABBY"
-90
"ABDUL"
-80
"ABE"
-260
"ABEL"
-240
"ABIGAIL"
-133
"ABRAHAM"
-128
"ABRAM"
-225
"ADA"
-540
"ADAH"
-506
"ADALBERTO"
216
"ADALINE"
-182
"ADAM"
-574
"ADAN"
-600
"ADDIE"
-592
"ADELA"
-629
Я побежал через мою логику несколько раз, и это кажется правильным для меня, но я не» я знаю, как я генерирую эти числа. Единственное, что у меня есть, это то, что кавычки («) отбрасывают мои вычисления. У них есть значение ASCII 34. Я попытался удалить их в нескольких местах в моем коде с помощью replace() replaceAll(), но . Я не был в состоянии слишком
Что я делаю неправильно/как я могу это исправить/что мне нужно сделать, чтобы выполнить это задание/как я могу улучшить свой код
призов Направления:
Используйте файл names.txt, текстовый файл размером 46 КБ, содержащий более пяти тысяч имен, найденных в каталоге ресурсов.
Часть 1: Начните с сортировки списка в алфавитном порядке. Сохраните этот новый файл как p4aNames.txt в каталоге ответов.
Часть 2: Используя p4aNames.txt, возьмите алфавитное значение для каждого имени и умножьте это значение на его алфавитную позицию в списке, чтобы получить оценку имени. Например, когда список сортируется в алфавитном порядке, COLIN, который стоит 3 + 15 + 12 + 9 + 14 = 53, является 938-м именем в списке. Таким образом, COLIN получит оценку 938 × 53 = 49714. Сохраните список всех оценок имен как p4bNames.txt.
Часть 3: Какова общая сумма всех баллов в файле?
Pic Ссылка Отображение выходного & Каталог:
http://screencast.com/t/tiiBoyOpR
Мой текущий код:
package app;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
public class AlphabetizedList {
\t public static void main() throws IOException {
\t \t new AlphabetizedList().sortingList();
\t }
\t public void sortingList() throws IOException {
\t \t FileReader fb = new FileReader("resources/names.txt");
\t \t BufferedReader bf = new BufferedReader(fb);
\t \t String out = bf.readLine();
\t \t out = out.substring(out.indexOf("\"")); //get rid of strange characters appearingbeforefirstname
// \t \t System.out.println(out); // output:
// "MARY","PATRICIA","LINDA","BARBARA","ELIZABETH","JENNIFER","MARIA"...
\t \t
\t \t String[] sortedStr = out.split(",");
\t \t Arrays.sort(sortedStr);
\t \t
\t \t PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("answers/p4aNames.txt"))); \t
\t
\t \t for (int i = 0; i < sortedStr.length; i++) {
\t \t \t
\t \t \t pw.println(sortedStr[i]);
\t \t \t System.out.println(sortedStr[i]);// print to console just to see output
\t \t \t
\t \t \t int score = 0;
// \t \t \t sortedStr[i].replaceAll("\"", ""); // I used this to try to remove the "s from my Strings
\t \t \t for (char ch: sortedStr[i].toUpperCase().toCharArray()) {
\t \t \t score += ((int)ch - 64); /* A is decimal 65 */
\t \t \t }
\t \t \t score = score * i; /* multiply by position in the list */
\t \t \t pw.println(score);
\t \t \t System.out.println(score);
\t \t }
\t \t bf.close(); \t \t
\t \t fb.close(); \t \t
\t \t pw.close();
\t }
}
СПАСИБО. Я не думаю, что видел бы это. В то время как вы слышите, я могу спросить, как вы закончите часть 3? Часть 3: Какова общая сумма всех имен в файле? –
сохраняют отдельную величину int и суммируют ее, когда вы получаете баллы за каждое слово. – twentylemon
Мне любопытно, где вы нашли этот вызов? Я люблю такие вещи. – Daniel