obiekty czy tak to robić? java

obiekty czy tak to robić? java
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:około 21 lat
  • Ostatnio:około 3 lata
  • 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.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
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:około 21 lat
  • Ostatnio:około 3 lata
  • 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.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • 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


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
0

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

mariano901229
  • Rejestracja:ponad 10 lat
  • Ostatnio:8 miesięcy
  • 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:ponad 10 lat
  • Ostatnio:ponad 6 lat
  • 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.