Merhaba,
Kullanıcıdan alınan bir cümlenin kelimelerini alfabeye göre dizmem gerekiyor.
Bu konuda bir sıkıntım yok fakat sorun şu program kapanmadan 1 den fazla çalışmıyor.
en üstteki for dongusunu çalışmıyor.
kackere değerini 100 de girsem 1 kereden sonra sonlanıyor.
Java String Sıralama Sorunu
5
●610
- 08-01-2016, 00:22:31Kaç kere çalışacak bilgisini test olarak alıp for un içine kackere değişkenini atmışsınızmebba adlı üyeden alıntı: mesajı görüntüle
- 08-01-2016, 00:50:07sorun o değil hocam buraya koymadan önce düzenleyim dedim o kısmı atlamışım.Vjolenza adlı üyeden alıntı: mesajı görüntüle
eğer ki değer 3 olursa
ali
ayse
ahmet gibi tek kelime girersem çalışıyor fakat cümle alamıyorum. - 08-01-2016, 01:03:28Scanner cin = new Scanner(System.in);mebba adlı üyeden alıntı: mesajı görüntüle
Scanner cin2 = new Scanner(System.in);
cin2.useDelimiter("\n");
yaparsan düzelir. Şu şekilde de çağırırsın.
int test= cin.nextInt();
cumle = cin2.nextLine();
Edit1: Ayrıca zaten nextLine() kullanmışsın. useDelimeter'a gerek kalmadan çalışıyor olması lazım
Edit2: Evet onu kullanmadan da çalıştı.
Buyur;
Scanner cin = new Scanner(System.in); Scanner cin2 = new Scanner(System.in); System.out.println("Kac defa calissin: "); int test= cin.nextInt(); for(int i=0; i<test; i++){ String cumle; System.out.println("Cumleyi giriniz: "); cumle = cin2.nextLine(); String ayrac = " "; String[] kelimeler = cumle.split(ayrac); TreeSet<String> kume = new TreeSet<String>(); for(String s:kelimeler) { kume.add(s); } Iterator<String> iterator = kume.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()+ " "); } } - 08-01-2016, 01:19:59mebba adlı üyeden alıntı: mesajı görüntüle
Scanner cin = new Scanner(System.in); int kackere; kackere = cin.nextInt(); for(int i=0; i<=kackere; i++){ String cumle; cumle = cin.nextLine(); String ayrac = " "; String[] kelimeler = cumle.split(ayrac); TreeSet<String> kume = new TreeSet<String>(); for(String s:kelimeler) { kume.add(s); } Iterator<String> iterator = kume.iterator(); while(iterator.hasNext()) { System.out.print(iterator.next()+ " "); } }bu şekilde de çalıştırabilirsin hocam; neden <= koyduğuma gelirsek eğer farkındaysan ilk cümleyi yazmaya başladığında bir boşluk olmuş oluyor. Bu demek oluyor ki 1 kere boş dönüyor bu döngü o yüzden = koyarak istediğin sayıya ulaşabilirsin