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.
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.
Ç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?
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
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 ?
Çıktı
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜ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.
< Bu mesaj bu kişi tarafından değiştirildi Deathamphetamine -- 22 Temmuz 2014; 23:21:02 >