Проект личного банковского дела - в той части, где я пытаюсь понять пузырьковую сортировку специально для моих нужд.
желаемое поведение - сортировать записи истории в порядке типа действия.
ошибка заключается в том, что он ничего не делает, а только печатает заголовок.
Я пытаюсь сделать так, чтобы мои записи истории из моего файла сохранения сортировались правильно, но ничего не отображается. Однако первый вариант работает, поскольку он отображает все 50 записей истории случайным образом, как и ожидалось. Не могу понять, почему не сортируется. Вот мои 2 основных файла. (Извините, если я что-то упустил или прозвучал глупо, я новичок в сортировке.)
Фрагмент 1 метода, в котором я пытаюсь выполнить сортировку:
else if (choice == 2) {
// sort by account types
for (int i = 0; i < HistoryManager.globalTransHistory.size() - 1; i++) {
for (int j = 0; j < HistoryManager.globalTransHistory.size() - i - 1; j++) {
String entry1 = HistoryManager.globalTransHistory.get(j);
String entry2 = HistoryManager.globalTransHistory.get(j + 1);
String[] parts1 = entry1.split("\\|");
String[] parts2 = entry2.split("\\|");
if (parts1.length < 2 || parts2.length < 2)
continue;
String type1 = parts1[1].replace("account type:", "").trim(); // "chequing"
String type2 = parts2[1].replace("account type:", "").trim();
if (type1.compareTo(type2) > 0) {
// swapping
HistoryManager.globalTransHistory.set(j, entry2);
HistoryManager.globalTransHistory.set(j + 1, entry1);
}
}
}
System.out.println("\n======= TRANSACTION HISTORY =======");
for (String entry : HistoryManager.globalTransHistory) {
System.out.println(entry);
}
System.out.println("===================================\n");
return;
}
Полный другой класс:
import java.util.ArrayList;
public class HistoryManager {
static ArrayList globalTransHistory = new ArrayList();
// single method to log any action
public static void logHistEntry(String actionType, int accountNum, String accountType, double amount) {
String timestamp = java.time.LocalDateTime.now()
.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String entry = timestamp + "| account type: " + accountType + " | account#" + accountNum + " | " + actionType + " | amount $" + amount;
globalTransHistory.add(entry);
}
// public static void logAndTransferHistory(int fromAcc, int toAcc, double amount, double fromBalance, double toBalance) {
// String timestamp = java.time.LocalDateTime.now().toString();
// String entry = timestamp + " | account#" + accountNum + " | " + actionType + " | $" + amount + " | balance: $" + newBalance;
// globalHistory.add(entry);
// }
}
Подробнее здесь: https://stackoverflow.com/questions/799 ... ng-history
Пузырьковая сортировка по банковской истории [закрыто] ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1773072198
Anonymous
[b]Проект личного банковского дела - в той части, где я пытаюсь понять пузырьковую сортировку специально для моих нужд.[/b]
желаемое поведение - сортировать записи истории в порядке типа действия.
ошибка заключается в том, что он ничего не делает, а только печатает заголовок.
Я пытаюсь сделать так, чтобы мои записи истории из моего файла сохранения сортировались правильно, но ничего не отображается. Однако первый вариант работает, поскольку он отображает все 50 записей истории случайным образом, как и ожидалось. Не могу понять, почему не сортируется. Вот мои 2 основных файла. (Извините, если я что-то упустил или прозвучал глупо, я новичок в сортировке.)
Фрагмент 1 метода, в котором я пытаюсь выполнить сортировку:
else if (choice == 2) {
// sort by account types
for (int i = 0; i < HistoryManager.globalTransHistory.size() - 1; i++) {
for (int j = 0; j < HistoryManager.globalTransHistory.size() - i - 1; j++) {
String entry1 = HistoryManager.globalTransHistory.get(j);
String entry2 = HistoryManager.globalTransHistory.get(j + 1);
String[] parts1 = entry1.split("\\|");
String[] parts2 = entry2.split("\\|");
if (parts1.length < 2 || parts2.length < 2)
continue;
String type1 = parts1[1].replace("account type:", "").trim(); // "chequing"
String type2 = parts2[1].replace("account type:", "").trim();
if (type1.compareTo(type2) > 0) {
// swapping
HistoryManager.globalTransHistory.set(j, entry2);
HistoryManager.globalTransHistory.set(j + 1, entry1);
}
}
}
System.out.println("\n======= TRANSACTION HISTORY =======");
for (String entry : HistoryManager.globalTransHistory) {
System.out.println(entry);
}
System.out.println("===================================\n");
return;
}
Полный другой класс:
import java.util.ArrayList;
public class HistoryManager {
static ArrayList globalTransHistory = new ArrayList();
// single method to log any action
public static void logHistEntry(String actionType, int accountNum, String accountType, double amount) {
String timestamp = java.time.LocalDateTime.now()
.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String entry = timestamp + "| account type: " + accountType + " | account#" + accountNum + " | " + actionType + " | amount $" + amount;
globalTransHistory.add(entry);
}
// public static void logAndTransferHistory(int fromAcc, int toAcc, double amount, double fromBalance, double toBalance) {
// String timestamp = java.time.LocalDateTime.now().toString();
// String entry = timestamp + " | account#" + accountNum + " | " + actionType + " | $" + amount + " | balance: $" + newBalance;
// globalHistory.add(entry);
// }
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79903596/bubble-sort-for-banking-history[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия