lostyazilim
tr.link

"Devam Etmek İstiyormusunuz" döngüsü yardım

6 Mesajlar 3.011 Okunma
acebozum
tr.link

FatalRhymeR FatalRhymeR WM Aracı Kullanıcı
  • Üyelik 10.08.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Programcısı
  • Konum Sakarya
  • Ad Soyad S** K**
  • Mesajlar 456
  • Beğeniler 140 / 77
  • Ticaret 2, (%100)
Arkadaşlar ödevde "
Kullanıcıdan doğum yılını girmesini isteyen, kullanıcı doğum yılını girdikten sonra yaşını hesaplayıp ekrana yazdıran bir Java programı yazınız. Program yaşı hesaplayıp ekrana yazdıktan sonra ekrana “Yeni bir hesaplama yapmak ister misiniz (e/h)?” diye yazacak, eğer kullanıcı “e” yazıp enter tuşuna basarsa yeniden doğum yılını soracak, yaşını hesaplayıp yazacak ve ekrana yeniden “Yeni bir hesaplama yapmak ister misiniz (e/h)?” yazacak. Kullanıcı bu soru sorulduğunda “e” haricinde bir şey yazıp enter tuşuna basarsa program sonlandırılacak. Kullanıcı bu soruya “e” şeklinde yanıt verdiği sürece program yaş hesaplama işlemini devamlı tekrarlayacak." yazıyor.

Doğum tarihi hesaplama işlemini yaptım soruyuda sorduruyorum fakat döngüyü bir türlü yapamadım o kadar araştırmama rağmen acaba nasıl yapabilirim. Bir bilgi verecek varmı ?

 

 

wmaraci
reklam

bsekerciler bsekerciler NODE Kullanıcı
  • Üyelik 03.12.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Yazılım Geliştirici
  • Konum İstanbul Avrupa
  • Ad Soyad B** Ş**
  • Mesajlar 28
  • Beğeniler 2 / 4
  • Ticaret 0, (%0)
Ödevin olduğu için doğrudan cevap vermek yerine şöyle bir tüyo vereyim:

Öncelikle bool bir değer tanımla. True ya da false olmak üzere 2 değer alabilirler.

boolean a = true;

şeklinde değişkenimizi tanımladık diyelim. Sonra, kullanıcı ile etkileşime geçtiğin kısımları da bu değer üzerinden döndür. Örneğin:
while(a) {
//System.out.. bla bla bla
...
...
...
}

Yani a değişkeni True olduğu sürece bunu yapmaya devam et dedik.
Fakat a değişkeni ile etkileşime geçmemiz gerekiyor ki, kullanıcıya bir seçim şansı sunabilelim. Bunun için en uygun yapı else if veya switch-case kullanarak gitmektir. Switch-case yapısı üzerinden gidelim.


String secimyap;
switch(secimyap) {
case "e":
a = true;
break;

case "h":
a = true;
break;

default:
System.out.print("Geçersiz giriş. E ya da H yazın.");
boolean tekraret = true;

while (tekraret) {
System.out.print("Tercih yap: e/h");
secimyap = giris.NextLine();

switch(a){
case "e":
a = tekraret = true;
break;

case "a":
a = tekraret = false;
break;
}
}
break;


Bir fikir vermesi amacı ile yazdım. Çok zorlanırsan özel mesaj kabul ediyorum.
ahmetycom

kişi bu mesajı beğendi.

BerkayYerbasan BerkayYerbasan SunucuOptimizasyonu.com Kullanıcı
  • Üyelik 20.08.2015
  • Yaş/Cinsiyet 27 / E
  • Meslek Computer Engineer
  • Konum İstanbul Avrupa
  • Ad Soyad B** Y**
  • Mesajlar 294
  • Beğeniler 127 / 54
  • Ticaret 4, (%100)
While dongusu kullanabilirsiniz ustteki yorumdaki gibi. Bizde de ayni proje vardi while ile hallettik.
 

 

Profesyonel Sunucu Optimizasyonu ve Fazlası

https://sunucuoptimizasyonu.com

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)

while(1){
Scanner sınıfı ile kullanıcıdan karakteri al [yaptım dediğin işlemler]
if(karakterin == 'e')
// İşlemlerin..
else
break();
}
 

 

wmaraci
wmaraci

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
if(inputCharFromUser == 'h'){
break;
}

//do what ever..

Guard claue ;)

Bakış açısı ilk olumsuzları gör, sonrası zaten yapacağın iştir..

Alternatif olarak bulunsun.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

FatalRhymeR FatalRhymeR WM Aracı Kullanıcı
  • Üyelik 10.08.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar Programcısı
  • Konum Sakarya
  • Ad Soyad S** K**
  • Mesajlar 456
  • Beğeniler 140 / 77
  • Ticaret 2, (%100)
for döngüsüne sokarak işlemleri tamamladım teşekkürler herkese.

Ek Olarak: for döngüsüne sokarak işlemleri tamamladım teşekkürler herkese.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al