obiekty czy tak to robić? java

obiekty czy tak to robić? java
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam mam pytanko ponieważ chciałem zrobić obiekt typu
pytania i np

public class question{

private String question,anwser;
private int id;

public Question(String question,String answer,int id){
this.question = question;
...
}
gettery settery
i zrobiłbym jeszcze Manager gdzie mam liste z pytaniami i metody
add/remove/get(int id)/list
i
pytania w pliku były by tak zapisywane
id,question,answe
tylko mam takie problemy

  1. jak robić auto-inkrementacjie id bo ogółem nie chciałbym mieć w konstruktorze int id
  2. do pliku pytania chciałbym mieć tak jakbym mieć posortowane tylko taki problem jeśli np mam pytania 0 - 100 i usune 55 to bym miał taką dziure tzn 53,54,56,57
    i jakby wtedy zmienić id by czegoś takiego nie było?
Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

A musisz takie cuda robić? Nie możesz użyć jakiejś plikowej bazy jak np. HSQL i do tego JPA? ;] A jeśli nie to serializuj za pomocą JAXB do XMLa.

  • Rejestracja: dni
  • Ostatnio: dni
0

no ale po co?
chce zrobić Obiekt Question
ponieważ robie quiz
i nie wiem jak zrobić ten Question a dokładnie auto inkrementacje id

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Ale jedno drugiego nie wyklucza. JPA tak właśnie dziala ze tworzysz sobie obiekt jaki tam chcesz a potem używasz JPA do zapisywania tego w "bazie danych" i do odczytywania z bazy. Przy okazji masz tam takie bajery jak autoinkrement.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1683
0

w klasie która jest tym opakowaniem do którego wrzucasz te obiekty możesz robić:

Kopiuj
pytanie.setId(pytania.size());
pytania.add(pytanie);

gdzie pytania to Lista albo Mapa

  • Rejestracja: dni
  • Ostatnio: dni
0

@up ok a jak zrobić z tym "naprawniame"id w pliku?

mariano901229
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 597
0
Michał:) napisał(a):

no ale po co?
chce zrobić Obiekt Question
ponieważ robie quiz
i nie wiem jak zrobić ten Question a dokładnie auto inkrementacje id

Auto-inkrementację zrobisz w ten sposób, że będziesz pobierał ostatni wiersz w twojej bazie, który będzie miał największą wartość id. I potem +1. W przypadku braku wierszy w bazie plikowej to zaczynasz od 1.

Po operacji usunięcia przelecisz całą bazę plikową w rekordach, które mają id większe od usuniętego i obniżysz im id o 1.

Lectre
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 293
0

Czemu nie użyjesz jakiejś bazy danych i do tego DAO pattern? Do twojego problemu pasuje jak ulał. Autoinkrementacją zajmie się baza.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.