Bittus Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 selam, graph theory ile ilgili bir ödevim vardı da, consoledan Node, Edge, length gibi şeyleri okumam gerekiyor. input şekli: Node Istanbul Node Corlu Node Tekirdag .... Edge Istanbul,Corlu,85 Edge Corlu,Tekirdag,25 .... PrintNode Istanbul PrintNode Corlu .... PrintEdge Istanbul,Corlu ..... vs. vs. gibi olacak. anlaşılacağı üzere başında node veya edge olunca hashmap'e ekliyoruz onları. printedge, printnode olunca da print ediyoruz. şimdi bu inputu hangi şekilde okuyabilirim? ne yaptıysam başarısız oldu. en yakın zamanda bi cevap alabilirsem sevinirim. teşekkürler.
aquila Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 input stream bişeyler, lan 2 ayda unutmuşum hep.
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 yok sorun o değil zaten... okuma işinde sorun yok. ben acele ile yazdığımdan zaten tam anlatamadım. olay inputu parametre olarak alabilmek için ne yapmam gerektiği. her satırı bir string arrayine alıp: if (array[0] == "Node" ) { graph.addNode(array[1]); } . . . vs. vs. şeklinde yazdım ama nedense başarılı olmadı. bunun üzerine çözümler istiyorum aslında
sigisMoNd Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 scannerla while dongusu icinde inputu satir satir okut. sonra her satir icin string.contains("Node") falan diye kontrol edip o satirda space ten sonrasini yazdirabilirsin ya da ne yapmak istiyosan onu yaptirabilirsin. hazir olan string metodlarini kullanman icin yardimci olur: http://download.oracle.com/javase/1.4.2/docs/api/ java api candir bu arada kullanalim kullandiralim.
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 yapmak istediğim oydu aslında ama spaceden sonrasını nasıl alacağım onu kestiremedim. istediğim şey tam olarak o :)
aquila Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 hay eline sağlık, diğer mesajı yazdığımdan beri aklıma gelmeyen scannerdı.
sigisMoNd Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 verdigim linkten sol ustteki kutucuktan java.lang a tikla. sonra onun altindaki yerden String e tikla. o istedigini yapmak icin gerekli olan butun hazir metodlar var. birkac tanesini(substring, indexOf gibi) birlikte kullaninca cikarirsin.
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 boşuna okumuşsun şükrücüm. o kadar soru sordum şu ana kadar, bi tanesine cevap veremedin ^^ saol bu arada sigismond, çaktım köfteyi.
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 tüh editten öncesini göremedim :) şaka yapıyorum tabi. java'ya yeni olduğunu biliyorum. alınmadın umarım.
aquila Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 editten öncesi -de'yi ayrı yazmıştım asdfasdf.
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 ahaha ben de alındın da giydirdin sandım
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 şimdi Node okumada bir sorun yok da Edge i nasıl okuyacağımı kestiremedim node için: while(sc.hasNextLine()){ if (sc.nextLine().contains("Node")) { graph.addNode(sc.nextLine().substring(5)); } } dedim. ama Edge Istanbul,Corlu,23 gibi bir inputtan istanbul corlu ve 23ü nasıl çekicem bilemedim. belki 23ü nextInt() ile alırım da istanbul ve corlu yu nasıl alabilirim? substring ile yapamam çünkü node isimlerinin harf sayısı farklılık gösterecek.
Bittus Mesaj tarihi: Ağustos 3, 2010 Konuyu açan Mesaj tarihi: Ağustos 3, 2010 of çok kasış oldu ama şunu yazdım: else if (sc.nextLine().contains("Edge" )) { sequence = sc.nextLine(); length = sc.nextInt(); from = sequence.substring(5, sequence.indexOf("," )-1); to = sequence.substring(sequence.indexOf("," )+1); graph.addEdge(from, to).setLength(length); } daha denemedim henüz diğerlerini yazıp öyle bakıcam çalışıp çalışmadığına
sigisMoNd Mesaj tarihi: Ağustos 3, 2010 Mesaj tarihi: Ağustos 3, 2010 her satirdaki karakterleri teker teker farkli stringlere yazdir. sonra onlari hashmape eklersin. string.charAt(i).isLetter() ya da string.charAt(i).isDigit() le yazdirilcak karakterleri belirlersin. for loop icine if (string.charAt(i) != ',') koyabilirsin mesela. sonra bunu bi kere daha tekrarlatirsin 2. kelime icin. rakam kismi isDigit() le kolay zaten.
Alfheim Mesaj tarihi: Ağustos 4, 2010 Mesaj tarihi: Ağustos 4, 2010 Girilen stringi parse edip, arraye al. Format checki yap, istemediğin bir formattaysa hata falan döndür, istediğin formattaysa seçeneklere göre eklersin hashtable'a.
Bittus Mesaj tarihi: Ağustos 4, 2010 Konuyu açan Mesaj tarihi: Ağustos 4, 2010 haha tamam iletirim ama kimden diyeyim? =)
fizban Mesaj tarihi: Ağustos 4, 2010 Mesaj tarihi: Ağustos 4, 2010 ehue yok geyik olsun diye diyorum. denedim oyle sirf ayni mi diye, her sene anyi projeyi veriyor sanirim. iyi adamdir. String [] pieces = string.split(" ,"); falan dene ama
Öne çıkan mesajlar