Пузырьковая сортировка по банковской истории [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Пузырьковая сортировка по банковской истории [закрыто]

Сообщение Anonymous »

Проект личного банковского дела - в той части, где я пытаюсь понять пузырьковую сортировку специально для моих нужд.
желаемое поведение - сортировать записи истории в порядке типа действия.
ошибка заключается в том, что он ничего не делает, а только печатает заголовок.
Я пытаюсь сделать так, чтобы мои записи истории из моего файла сохранения сортировались правильно, но ничего не отображается. Однако первый вариант работает, поскольку он отображает все 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»