Forum » Programiranje » [NALOGA][Java] Branje vsebine datoteke vzvratno
[NALOGA][Java] Branje vsebine datoteke vzvratno
SkIDiver ::
Besedilo naloge;
Težave mi dela branje nazaj. Kako se ga lotit?
Write an application that allows the user to type any number of characters and save them to a file. Then display the file contents backward.
Težave mi dela branje nazaj. Kako se ga lotit?
salesky ::
Do katere stopnje prideš?
V datoteko zapišeš vse znake, ki jih uporabnik vnese? No če jih, greš prebrat datoteko v neko tabelo znakov al pa nizov (char,string) in izpisuješ znake od največjega indeksa proti najmanšemu...
Malo kvazi pseudo kode:
preštej število znakov v datoteki
deklariraj tabelo z enakim številom polj
v vsako polje tabele dodaj en znak iz datoteke
sedaj pa for zanko, ki gre od konca proti začetku in vsakič izpišeš trenutno vrednost tabele
To je na hitro iz glave.
LP
V datoteko zapišeš vse znake, ki jih uporabnik vnese? No če jih, greš prebrat datoteko v neko tabelo znakov al pa nizov (char,string) in izpisuješ znake od največjega indeksa proti najmanšemu...
Malo kvazi pseudo kode:
preštej število znakov v datoteki
deklariraj tabelo z enakim številom polj
v vsako polje tabele dodaj en znak iz datoteke
sedaj pa for zanko, ki gre od konca proti začetku in vsakič izpišeš trenutno vrednost tabele
To je na hitro iz glave.
LP
SkIDiver ::
Pridem do tu, da zapišem v datoteko. No meni se je zataknilo, ko sem bral iz datoteke v StringBuffer kateri ima metodo reverse samo meni nekako ne uspe zadeve pognat v delovanje.
Ideja s tabelo je dobra samo se je za enkrat še izogibam, ker me muči rešitev s StringBufferjem.
Ideja s tabelo je dobra samo se je za enkrat še izogibam, ker me muči rešitev s StringBufferjem.
salesky ::
Ja pa sej s stringbufferjem lahko isto nardiš.
maš charAt(int index) metodo, ki ti vrne znak na poziciji INDEX. Tako isto z for zanko greš od zadnjega znaka do sprednjega.
Bom pogledu kaj je s tisto funkcijo reverse.
PS: Kako delaš ti s tem reversom?
če maš
StringBuffer ena = new StringBuffer() in temu dodajaš vsebino iz datoteke poskušaj tako
ena = ena.reverse();
maš charAt(int index) metodo, ki ti vrne znak na poziciji INDEX. Tako isto z for zanko greš od zadnjega znaka do sprednjega.
Bom pogledu kaj je s tisto funkcijo reverse.
PS: Kako delaš ti s tem reversom?
če maš
StringBuffer ena = new StringBuffer() in temu dodajaš vsebino iz datoteke poskušaj tako
ena = ena.reverse();
Zgodovina sprememb…
- spremenil: salesky ()
SkIDiver ::
salesky hvala za nasvet za reverse. Jaz sem pa samo ena.reverse()
OK se bom poigral pa bomo vidl kako bo uspelo.
OK se bom poigral pa bomo vidl kako bo uspelo.
SkIDiver ::
Dela. Še koda.
PS: A ima kdo idejo kako se rešiti Character.toChars(c) metode katero sem uporabil, ker drugače v StringBuffer dodaja ascii kode znakov(vsaj zdi se mi tako-nisem preverjal)?
PS: A ima kdo idejo kako se rešiti Character.toChars(c) metode katero sem uporabil, ker drugače v StringBuffer dodaja ascii kode znakov(vsaj zdi se mi tako-nisem preverjal)?
package chapter16b; import java.io.*; public class ReadBackwards { public static void main(String[] args) throws Exception { InputStream istream; OutputStream ostream; File outFile = new File("Backwards.dat"); int c; istream = System.in; ostream = new FileOutputStream(outFile); System.out.print("Enter characters: "); try { while((c = istream.read()) != -1) ostream.write(c); } catch(IOException e) { System.err.println("Error: " + e.getMessage()); } finally { istream.close(); ostream.close(); } try { istream = new FileInputStream(outFile); StringBuffer buf = new StringBuffer(); while((c = istream.read()) != -1) buf.append(Character.toChars(c)); System.out.println("\nForward: " + buf); buf = buf.reverse(); System.out.print("Reverse: "); for(int i = 0; i < buf.length(); i++) if(Character.isLetterOrDigit(buf.charAt(i))) System.out.print(buf.charAt(i)); } catch(IOException e2) { System.err.println("Error2: " + e2.getMessage()); } finally { istream.close(); //ostream.close(); } } }
Zgodovina sprememb…
- spremenil: SkIDiver ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java]: replace - slovar v txtOddelek: Programiranje | 1683 (1541) | Spura |
» | Printanje na papir java problemOddelek: Programiranje | 1170 (977) | javaMaster |
» | [Java] Frekvenca besedOddelek: Programiranje | 1315 (1169) | zila90 |
» | Java-Izdelek-NujnoOddelek: Programiranje | 1498 (1270) | iggy |
» | osnove v Javi - zvezdiceOddelek: Programiranje | 3522 (2744) | Tutankhamun |