javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 Java API http://java.sun.com/j2se/1.4.1/docs/api/ StringTokenizer http://java.sun.com/j2se/1.4.1/docs/api/java/util/StringTokenizer.html Double http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Double.html θα σου συνιστουσα...να κατεβασεις το API καπου τοπικα..και γενικα να το ψαχνεις..υπαρχουν πολλα method Που θα σου κανουν την ζωη πιο ευκολη! <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" />
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Thanks gia ta references, alla poio API na katevaso <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" /> Voi8ise me ligaki giati apo Java tora ma8aino.
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 Το Java Standard edition Api! Η λιστα με ολες τις κλασεις τις μεθοδους τους και αλλες λοιπες πληροφοριες σε μορφη Javadoc! http://java.sun.com/webapps/download/Redirect/45748658/5847479377282807053505607246086069333228071972022813600060132859339008063305596058473206-3865/j2sdk-1_4_1-doc.zip Αν δεν δουλεψει το παραπανω πηγαινε εδω http://java.sun.com/docs/ εκει κατεβασε και το Java Tutorial αλλα και το Java 1.4.1 API! Υπαρχει μεγαλη περιπτωση να το εχεις ειδη στο μηχανημα σου ... επισης μπορεις να βρεις μερικες πληροφοριες εδω (στα ελληνικα) http://www.members.tripod.com/apoc_gr/java_insomniacs.htm <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" /> Welcome στον μαγευτικο κοσμο της Java!
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Ma to exo to sugkekrimeno api, Exo kolisei se auto to shmeio. Epsaksa se olh thn class String kamia method den mou ekane. Akoma kai sth Char, kai ekei ta idia.
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 αγαπητε γιατι δεν πατας στο λινκ που σου εδωσα? StringTokenizer http://java.sun.com/j2se/1.4.1/docs/api/java/util/StringTokenizer.html ειναι ξεχωριστη κλαση! Αυτο που κανει ειναι να παιρνει ενα string που περιεχει τιμες χωρισμενες απο καποιον χαρακτηρα η αλληλουχια χαρακτηρων.. και να σoυ δινει πισω Τα επιμερους κομματια! ο παρακατω κωδικας ελπιζω να σε βοηθησει > import java.util.*; public class aTest { public aTest() { } public static void main(String[] args) { String s = "Hello:Wow:ILoveJava:IHateMicrosoft:IHateVB"; StringTokenizer tk = new StringTokenizer(s,":"); while(tk.hasMoreElements()){ System.out.println(tk.nextElement()); } } }
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Me prolaves! ego dokimasa to parakato > import java.io.*; import java.util.*; public class Text { public static void main(String[] args) throws IOException { FileInputStream theFile= new FileInputStream("text.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(theFile)); String c=null; int type; while((c=br.readLine())!=null) { StreamTokenizer st = new StreamTokenizer(c," "); System.out.println(st); } theFile.close(); } } alla den anagnorizei ton constructor tou StringTokenizer
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 ωραιος! Αν λοιπον το πρωτο token που διαβαζεις ειναι το ΠΟΣΟΤΗTA τοτε..συνεχισε με το επομενο!Αν οχι τοτε σπας το εσωτερικο whιλε που looparei τα τokens και συνεχιζεις με το επομενο String (γραμμη). Στον παραπανω κωδικα ακομα δεν εχεις βαλει το nested while αλλα λογικα θα το βαλεις στην επομενη version! <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" />
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Fenete sosto omos exei la8os > import java.io.*; import java.util.*; public class Text { public static void main(String[] args) throws IOException { FileInputStream theFile=new FileInputStream("text.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(theFile)); String c=null;int type; while((c=br.readLine())!=null) { StreamTokenizer st = new StreamTokenizer(c," "); while(st.hasMoreElements()){ System.out.println(st.nextElement()); } } theFile.close(); } } Errors > D:\java\Text.java:17: cannot resolve symbol symbol : constructor StreamTokenizer (java.lang.String,java.lang.String) location: class java.io.StreamTokenizer StreamTokenizer st = new StreamTokenizer(c," "); ^ D:\java\Text.java:20: cannot resolve symbol symbol : method hasMoreElements () location: class java.io.StreamTokenizer while(st.hasMoreElements()){ ^ D:\java\Text.java:21: cannot resolve symbol symbol : method nextElement () location: class java.io.StreamTokenizer System.out.println(st.nextElement()); } ^ 3 errors Process completed.
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 ρε συ dominant δες λιγο το API ξανα! και τον κωδικα που σου ποσταρα! ειναι StringTokenizer και οχι StreamTokenizer! ΠΡΟΣΟΧΗ!
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Exeis dikio, sugnomh alla me ta Buffe kai InputStreamReader mperdeutika <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/wink.gif" alt="" /> Tora to mono pou menei einai na koito ka8e gramh an to string einai double. Auto ginete me to Double.parseDouble()?
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 η λογικη ειναι η εξης..στο εσωτερικο loop εσυ τωρα βλεπεις τις τιμες..ολα τα τοκεν.Αυτο που θα κανεις ειναι να ελενχεις αν το πρωτο τοκεν ειναι η λεξη ΠΑΡΑΔΟΣΗ ..αν ειναι ..τοτε θα συνεχιζεις στο επομενο το οποιο αν ολα ειναι καλα γραμμενα στο αρχειο...θα πρεπει να ειναι ο αριθμος! Αν τιποτα απο τα παραπανω δεν ειναι θα πρεπει να κανεις Break το εσωτερικο loop και το εξωτερικο while ΠΟυ διαβαζει απο το stream να σου δινει την επομενη γραμμη! Αν ομως βρεις πραγματι το token ΠΑΡΑΔΟΣΗ..οπως ειπα παραπανω ζητας το επομενο και στην συνεχεια αφοθ σου δωσει το String χρησιμοποιεις Double.parseDouble(String s); !ΔΕΣ ΤΟ ΑPI! <img src="http://www.insomnia.gr/ubbthreads/images/graemlins/smile.gif" alt="" />
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Efirmosa to kodika sou os eksis > while(st.hasMoreElements()){ Double.parseDouble(st.nextElement()); } omos > (java.lang.String) in java.lang.Double cannot be applied to (java.lang.Object) System.out.println(Double.parseDouble(st.nextElement())); To ekana apla na do an douleuei
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 λοιπον ενα πολυ αγαρπο παραδειγμα ..ο κωδικας μπροει να γραφτει πιο σωστα..εδω απλα υπολογιζω οτι το αρχειο ειναι παντα σωστα γραμμενο και παντα μετα την ποσοτητα υπαρχει η τιμη εχω ενα αρχεια test.txt που περιεχει τα εξης! ------------ Test:Hello Paradosh:Hello Posotita:27.7 Test:Hello Paradosh:Hello Posotita:28.7 Test:Hello Paradosh:Hello Posotita:29.7 --------------- και θελω τις ποσοτητες > import java.io.*; import java.util.*; public class aTest { public static void main(String[] args) throws IOException { FileInputStream theFile=new FileInputStream("c:/test.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(theFile)); String c=null; int type; while((c=br.readLine())!=null) { StringTokenizer st = new StringTokenizer(c,":"); String temp = null; while(st.hasMoreElements()){ temp = (String) st.nextElement(); if(temp.equals("Posotita")){ double db = Double.parseDouble((String)st.nextElement()); System.out.println(db); break; } break; } } theFile.close(); } }
dominant Δημοσ. 31 Μαΐου 2003 Μέλος Δημοσ. 31 Μαΐου 2003 Sosta, ayto htan ena diafotistiko paradeigma! thanks. Omos Otan les > .. st.hasMoreElements().. ..temp = (String) st.nextElement();... Mporoume na to apofugoume os ekseis? > .. st.hasMoreElements().. ..temp = st.nextToken();... kai na apofugoume to casting?
javanidhs Δημοσ. 31 Μαΐου 2003 Δημοσ. 31 Μαΐου 2003 ναι ..απλα το HasMorelements ειναι επειδη το Tokenizer μπορει να συμπεριφερθει σαν enumeration (δες Java Collections) .Δεν υπαρχει διαφορα!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.