[Java lista] JAVA prog. fordítás és jó-e
istvan.ketler at lhsystems.com
istvan.ketler at lhsystems.com
2007. Okt. 27., Szo, 07:30:25 CEST
Szia,
mivel a Tomb_ tömböt időközben átalakítottad long-ra, így javaslom, hogy a Long.valueOf helyett használd a Long.parseLong metódust. Talán nem annyira nagy kaland, de szép hosszú input file esetén elvileg jelenthet megtakarítást.
A másik kérdés, hogy mit szeretnél tenni abban az esetben, ha a beolvasott adat érvénytelen. Jelen formájában az történik, hogy a programod megáll (mivel kivétel generálódik). Ez általában nem pontosan az, amit szeretnél. Figyelmen kívül hagyhatod az érvénytelen sorokat például így:
try {
Tomb_[0] += Long.parseLong(sor);
// Ide való az összes többi feldolgozása a sor-nak
} catch (NumberFormatException nfex) {
// Itt lehet kezelni a hibát, ha érvénytelen (nem szám) a beolvasott sor.
}
Persze megteheted azt is, hogy a beolvasó metódusod meghívását teszed kivételkezelő környezetbe. Nem tudom, milyen szintű a Java tudásod, de ha a fenti kód kicsit érthetetlen lenne, akkor javasolt irodalom a java tutorial a sun-tól:
http://java.sun.com/docs/books/tutorial/index.html
A Getting Started-en már biztos túl vagy, ha tudod fordítani és futtatni a programodat, de a "Learning the Java Language" és az "Essential Java Classes" ajánlott lehet. Ez utóbbiban van a fenti kivételkezelő kódrészlet megfejtése, rögtön az első fejezet (Exceptions).
Üdvözlettel,
Iván
Ivan KETLER
Project Coordinator
NetLine/Plan new GUI
Schedule & Revenue Management
Airline Management Solutions
Lufthansa Systems Hungaria
Hungary, 1123 Budapest, Alkotás u. 53.
>
Sitz der Gesellschaft / Corporate Headquarters:
Lufthansa Systems Hungaria Kft, Budapest
Fövarosi Birosag 01-09-463417
Geschaeftsfuehrung/ Management Board:
Monika Houck
-----Original Message-----
> From: javalist-bounces at javagrund.hu
> [mailto:javalist-bounces at javagrund.hu] On Behalf Of brooo
> Sent: Friday, October 26, 2007 10:22 PM
> To: javalist at javagrund.hu
> Subject: [Java lista] Re: JAVA prog. fordítás és jó-e
>
> A fordító azért szól, mivel a FileReader osztálynak nincs
> readLine() metódusa.
>
> ------------------------------------------------------------
>
> Köszi
>
> ~ Időközben rájöttem még, hogy hogyan lehet megcsinálni:
> (mármint a while ciklust [pontosabban helyette])
>
> String sor;
> do
> {
> sor=in.readLine();
> if (sor!=null)
> {
> //például:
> out.write(sor+ "\r\n");
> Tomb_[0]+=Long.valueOf(sor);
> System.out.println(sor);
> }
> }
> while (sor!=null);
>
>
További információk a(z) Javalist levelezőlistáról