Şimdi Ara

(yeni başlamış) Bu kod dizisini nasıl döngüye sokabilirim?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
400
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • mehaba ben bi kaç gündür java çalışıyorum. Kendi kendime dersleri izleyip kodları deniyorum acemi olduğum için toparlıyamadım.
    çok basit bir işlem olduğuna eminim ama kaçırdığım noktayı göremiyorum.

    //
    package java_giris_dersi;

    import java.util.Scanner;

    public class deneme_alani {
    public static void main (String[] args) {
    Scanner scan = new Scanner (System.in);

    int bakiye =1000;
    int islem;
    int miktar;

    System.out.println("1 Bakiye görüntüle");
    System.out.println("2 para çek");
    System.out.println("3 para yatır");
    System.out.println("4 Çıkış yap");

    islem = scan.nextInt();

    switch(islem) {

    case 1 :
    System.out.println("Güncel bakiye " + bakiye);

    case 2:
    System.out.println("Ne kadar çekmek istiyorsunuz(maks 500)");
    miktar = scan.nextInt();

    if (miktar >= 501) {
    System.out.println("Tek sefer çekim tutarını aşan miktar.");
    break;

    }

    else if (miktar <= 500)
    {
    bakiye -= miktar;
    System.out.println("şu kadar çektiniz: " + miktar +" Güncel bakiyeniz " + bakiye);
    miktar = scan.nextInt();
    break;

    }

    case 3:
    System.out.println("Ne kadar yatırmak istiyorsunuz");



    }



    }
    }
    \\

    case 2 de para yatırınca ilk başladığım menüyü sıralı halde vermek istiyorum nasıl yapabilirim.
    teşekkür ederim







  • Merhaba, döngü kullanmalısınız. (while, for, do-while..) gibi. Bu şekilde istediğinizi yapabilirsiniz.

    Yazdığınız kodda case 1'da break kullanmadığınız için case 1 seçildikten sonra case 2 da çalışıyor. (Bu şekilde olmasını istemeyiz)

    Ve default case tanımlı değil switch için, yani ben 1-2-3-4 ü tanımladım diyelim fakat adam 5 girdiğinde herhangi bir şey yapmayacak. Mesela 5 veya herhangi 1-2-3-4 dışında bir değer girildiğinde hata mesajı gösterimini istiyorum, bu durumda default case kullanabilirim. Tanımladığım caseler dışında bu çalışır.

    Bu tarz eksikleri düzeltip şöyle bi' şey yolluyorum. İncelemek isterseniz.

    Ekran görüntüsü:

    (yeni başlamış) Bu kod dizisini nasıl döngüye sokabilirim?

    Ayriyeten mesela, bakiye 1000 olarak girili, ben 3 kere 500 çekebiliyorum yani bakiye 0 olduğunda bir daha para çekebilirim. Bu durumu da if-else ile sınırlamanız gerek, - bakiyeye düşer yoksa. Veya bakiye çekme miktarına 0 dan küçük bir sayı girebilirim, üst değer 500 ama alt değer yok. Bu durumda -500 girebilirim yani. Bu durumda saçma olur. Bunları düzeltmedim tabi, siz düzeltmek isterseniz. :)

    Kod:

    import java.util.Scanner;

    public class deneme_alani {
    public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    int bakiye = 1000;
    int islem;
    int miktar;

    do {
    System.out.println("1 Bakiye görüntüle");
    System.out.println("2 para çek");
    System.out.println("3 para yatır");
    System.out.println("4 Çıkış yap");

    islem = scan.nextInt();

    switch (islem) {

    case 1:
    System.out.println("Güncel bakiye " + bakiye);
    break;
    case 2:
    System.out.println("Ne kadar çekmek istiyorsunuz(maks 500)");
    miktar = scan.nextInt();
    if (miktar > 500) {
    System.out.println("Tek sefer çekim tutarını aşan miktar.");
    } else { // girilen miktar 500 den buyuk degilse bu calisacak
    bakiye -= miktar;
    System.out.println("şu kadar çektiniz: " + miktar + " Güncel bakiyeniz " + bakiye);
    // miktar = scan.nextInt();
    }
    break; // break

    case 3:
    System.out.println("Ne kadar yatırmak istiyorsunuz");
    miktar = scan.nextInt();
    bakiye += miktar; // yatirilan parayi bakiyeye ekle
    System.out.println("şu kadar yatırdınız: " + miktar + " Güncel bakiyeniz " + bakiye);
    break;
    case 4: // cikis yapmak icin 4 girildiginde
    System.out.println("Cikis yapiyorsunuz...");
    break;
    default: // 1-2-3-4 disinda bir deger girildiginde default bu calisacak
    System.out.println("Gecersiz komut!");
    break;
    }
    // 4 girilmedigi surece
    } while (islem != 4); // Cikis secenegi girilmedigi surece dongu calisacak
    System.out.println("Cikis yaptiniz.");
    scan.close();
    }
    }



    < Bu mesaj bu kişi tarafından değiştirildi Guest-9DE6A5ECA -- 27 Nisan 2019; 9:47:54 >




  • Çok teşekkür ederim. Bunları yeniden yazıp tek tek sindirmeye çalışacağım. Tam döngü mantığını kavrıyamadım biraz daha çalışmalıyım.

    gün içersinde sizin kodlara bakarak bi kaç günceleme yaptım. Teşekkürler

     package java_giris_dersi;
    import java.util.Scanner;

    public class deneme_alani {
    public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int bakiye = 1000;
    int islem;
    int miktar;

    do {
    System.out.println("1 Bakiye görüntüle");
    System.out.println("2 para çek");
    System.out.println("3 para yatır");
    System.out.println("4 Çıkış yap");

    islem = scan.nextInt();

    switch (islem) {

    case 1:
    System.out.println("Güncel bakiye " + bakiye);
    System.out.println("Devam etmek için 0'a basınız.");
    islem = scan.nextInt();
    do {
    if (islem != 0) {
    System.out.println("yanlış tuşladınız.");
    System.out.println("Devam etmek için 0'a basınız.");
    islem = scan.nextInt();
    }
    else;

    }while (islem != 0);
    break;
    case 2:
    System.out.println("Ne kadar çekmek istiyorsunuz(maks 500)");
    miktar = scan.nextInt();
    if (miktar > 500) {
    System.out.println("Tek sefer çekim tutarını aşan miktar.");
    }
    else if (miktar > bakiye) {
    System.out.println("limit yetersiz!");

    }
    else { // girilen miktar 500 den buyuk degilse bu calisacak
    bakiye -= miktar;
    System.out.println("şu kadar çektiniz: " + miktar + " Güncel bakiyeniz " + bakiye);
    // miktar = scan.nextInt();

    }

    break; // break

    case 3:
    System.out.println("Ne kadar yatırmak istiyorsunuz? Min:5 Maks:500");
    miktar = scan.nextInt();
    if (miktar < 5) {
    System.out.println("Girilen miktar yetersiz. Min:5");
    break;
    }
    else if (miktar > 500) {
    System.out.println("Tek seferde işlem tutarı aştınız ");
    }


    else {
    bakiye += miktar; // yatirilan parayi bakiyeye ekle
    System.out.println("şu kadar yatırdınız: " + miktar + " Güncel bakiyeniz " + bakiye);

    }

    break;

    case 4: // cikis yapmak icin 4 girildiginde
    System.out.println("Cikis yapiyorsunuz...");
    break;
    default: // 1-2-3-4 disinda bir deger girildiginde default bu calisacak
    System.out.println("Gecersiz komut!");
    break;
    }
    // 4 girilmedigi surece
    } while (islem != 4); // Cikis secenegi girilmedigi surece dongu calisacak
    System.out.println("Cikis yaptiniz.");
    scan.close();
    }
    }


    else if le önce miktar bakiye sorgusu yapıp sonra else ye geçebiliriz. ama aklımda daha ayrıntılı mesele 2 bastık ana menü değilde işlem geçekleşti ana menüye devam etmek istermisniz yada kart iade gibi birşey yapmaya çalışıyorum. iç içe menü nasıl yapılır bilginsiz var mı?(yeni başlamış) Bu kod dizisini nasıl döngüye sokabilirim?



    < Bu mesaj bu kişi tarafından değiştirildi Redverdar -- 27 Nisan 2019; 16:11:49 >




  • Redverdar R kullanıcısına yanıt
    O seçenek için gene ayrı bi' döngü kullanabilirsiniz içinde.
  • Teşekkür ederim, baya geliştirdim bunu basit temelde tabi ki derslere devam edeyim. Tekrar teşekkür ederim herşey içi
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.