Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
310
Tıklama
0
Öne Çıkarma
Beyler YARDIM!!!!
D
12 yıl (384 mesaj)
Teğmen
Konu Sahibi

Nerede yanlış yapıyorum bir türlü anlamadım çok mantıklı geliyor bana Program hata vermiyor ama saçmalıyor. Şöyle ki: amacım bir pazar listesi oluşturmak bu listenin kapasitesini ve içindekilerini kullanıcı belirlesin istiyorum. program cıktısı
 package arrays; 
import java.util.Scanner;

public class Program {
int kapasite ;

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("PROGRAMA HOŞGELDİNİZ!!");

Scanner input = new Scanner(System.in);
System.out.println("Kaç adet gireceksiniz?");
int kapasite = input.nextInt();

String liste[] = new String[kapasite];
for(int i = 0; i < kapasite ; i++ ){
System.out.print( (i+1) + ". ögeyi giriniz: ");

liste[i] = input.nextLine(); // Burada hata veriyor.
}
System.out.println("LİSTE\n-----------");
for(int i = 0; i < kapasite ; i++ ){
System.out.println(liste[i]);
}
}

}

Çıktı
PROGRAMA HOŞGELDİNİZ!! 
Kaç adet gireceksiniz?
3
1. ögeyi giriniz: 2. ögeyi giriniz: ekmek
3. ögeyi giriniz: su
LİSTE
-----------

ekmek
su

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Deathamphetamine -- 22 Temmuz 2014; 23:21:02 >

H
12 yıl (217 mesaj)
Teğmen

nextLine() fonksiyonunu next() yaparsan sorun çözülücektir.

sebebide nextline bir sonraki linedaki yazdıgın şeyi alıcaktır ama next o a linedaki dikkat edersen listeninde ilk elemanı boş senin cıktında bu 1.elamanı atladıgını gösteriyo
next() fonksiyonula yapmalısın umarım anlatabilmişimdir.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Deathamphetamine
D
12 yıl (384 mesaj)
Teğmen
Konu Sahibi

Çoook teşekürler. Eclipse'de ctrl+space yaptığımda görmüştüm o fonskiyonu neden koymuşlar falan demiştim. 2 Hafta oldu Java'ya ve programlamaya başlayalı runtime error ları farkedemiyorsun bi yöntemi var mı ?

EDİT : Bir de şunu fark ettim. input2 şeklinde ikinci bir scanner objesi oluşturup nextLine() değiştirmezsem de oluyor bunun nedeni ne?





< Bu mesaj bu kişi tarafından değiştirildi Deathamphetamine -- 23 Temmuz 2014; 11:24:28 >
Bu mesaja 1 cevap geldi.
T
12 yıl (68 mesaj)
Çavuş

Hocam aslında kendi sorununu kendin bulmuşsun. Arkadaşın dediği gibi next ile nextLine'ın en büyük farkı biri boşluktan sonrasını okumaz, diğeri boşluk dahil hepsini okur


Bu mesaja 1 cevap geldi.
D
12 yıl (384 mesaj)
Teğmen
Konu Sahibi

quote:

Orijinalden alıntı: Tankado34

Hocam aslında kendi sorununu kendin bulmuşsun. Arkadaşın dediği gibi next ile nextLine'ın en büyük farkı biri boşluktan sonrasını okumaz, diğeri boşluk dahil hepsini okur

nextLine() aynen kalsın input2 şeklinde ikinci bir scanner nesnesi oluşturup da problemi çözebiliyorum bunun nedenini merak ettim ?



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.