Пара вещей здесь, во-первых, это не вопрос, вы заявляете о своей программе, и все, но при сканировании вашего кода возникает более одной проблемы.
Ваша первая проблема - дизайн, очевидно, у вас есть сущность, называемая учетной записью, которая может иметь имя, имя пользователя, адрес электронной почты, породу, пол и все, что вы хотите. Вам придется создать для него класс (если вы хотите следовать ООП) или просто структуру, если вы предпочитаете пропустить ООП. Вы используете Java, поэтому я считаю, что вы должны пойти с решением ООП. Это сделает вашу жизнь проще.
public class account {
private String name, user_name, email, .... ;
// constructor
// getters and setters
}
Теперь вы можете создать другой класс, который представляет собой список учетных записей. Этот класс будет обрабатывать получение учетных записей из списка как объект. Например, у вас может быть метод с именем getNextAccount
, который будет проходить по списку, захватывать строки и создавать объект учетной записи.
Например:
Account getNextAccount() {
// seek to the starting position of this account
String name = acc.goToNext();
String username = acc.goToNext();
....
return new Account(name, username, ...);
}
Ваш код:
LinkedList<Account> account = new LinkedList<Account>();
не правильно. Исходя из имеющегося у вас связанного списка, кажется, что 9 узлов списка создадут объект учетной записи, который предполагает, что этот список должен быть списком строк, а не списком учетных записей. поэтому ваш связанный список должен быть:
LinkedList<String> accountsList = new LinkedList<String>();
Теперь перейдя к вашей логике, я считаю, что вы хотите создать какой-то процент соответствия, основанный на разных критериях. Если первое условие if истинно, то процент совпадения составляет 90%. Но вот проблема, предположим, что первое условие if является истинным, поэтому процент соответствия должен быть равен 90%, но проблема в том, что второе условие if также будет истинным независимо от значения состояния, потому что вы используете if
not if else
заявление. Это может сбить пользователя с толку, представьте, что ваша программа отображает это:
User: <user_name> is a 90% match!
User: <user_name> is a 70% match!
Это сбивает с толку, поэтому вы хотите использовать if else
операторов.
Также вы можете создать метод, который обрабатывает печать в текстовой области. Поэтому измените свой дизайн, попробуйте следовать принципам ООП, Java - это язык ООП, исправьте свою логику, и у вас будет запущена программа сопоставления дат.