[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