Şimdi Ara

Şu koda bi bakarmısınız(Java kodu)Edit:çözüldü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
866
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar gayet basit birşey ama bi türlü derlenmiyor hata nedir anlayamadım.

     

    import java.util.Scanner;

    public class Bilinmeyen {

    public static void main(String args [])
    {
    String ad;
    int a;
    int kullanıcıIslem;

    Scanner scan = new Scanner(System.in);

    ad = scan.nextLine();
    a = scan.nextInt();

    function(ad,a);
    System.out.println("İşlem dogru ise 1e yanlış ise 2 ye basınız");
    kullanıcıIslem = scan.nextInt();

    if(kullanıcıIslem==1)
    System.out.println("Kaydınız alınmıştır.");

    else
    {
    System.out.println("Tekrardan adınızı ve soyadınız giriniz lütfen");

    ad = scan.nextLine();
    a = scan.nextInt();
    function(ad,a);

    }


    }


    public static void function(String ad , int a)
    {
    System.out.println("Adınız: " + ad + "Numaranız" + a);
    }


    }






    < Bu mesaj bu kişi tarafından değiştirildi NsncHunter1 -- 19 Şubat 2014; 19:41:10 >







  • scan'in kapatılmadığıyla ilgili bir warning veriyor onun dışında çalışıyor görünüyor bende. Eclipse Kepler Service Release 1
  • Merhaba,

    Bu şekilde işlemin doğruluğunu yanlışlığını kontrol edip işlemi başa alamazsınız. Bu tür işlemler için do while döngüsü kullanmalısınız aksi takdirde her yanlış işlem için kod yazmanız gerekir ki kullanıcı istediği kadar yanlış seçeneceğini seçebileceğine göre buda sonsuz kere kodlarla devam etmesi demek. Yazıyla pek iyi anlamadım şöyle anlatıyım:

    System.out.print("İşlem doğru ise 1, yanlış ise 2 yazın."); 
    secim = scanner.nextInt();
    if(secim == 2){
    // işlem tekrar yapılır tekrar sorulur
    System.out.print("İşlem doğru ise 1, yanlış ise 2 yazın.");
    secim = scanner.nextInt();
    if(secim == 2){ // işlem tekrar yanlış ise
    // işlem tekrar yapılır tekrar sorulur
    // bu şekilde sonsuz kere yapman gerekirdi.
    }
    }


    yani böyle bi' kod saçma olurdur, seninde anlayacağın üzere. Bunun yerine do while döngüsü kullanarak işlemi daha basit indirgeyebilirsin. Adı üstünde zaten döngü, fakat bir koşula bağlı bir döngü. O koşul sağlandığı sürece döngü devam eder. Bu anlattıklarımdan şimdi kafanda bi'şeyler şekillenmiş olması gerek. Eğer hâlâ aklına gelmediyse çözüm yöntemi geriye dönüp bir konu tekrarı yapmanı tavsiye ederim.

    Kolay gelsin...



    < Bu mesaj bu kişi tarafından değiştirildi özgür beyin -- 11 Şubat 2014; 14:48:15 >




  • özgür beyin kullanıcısına yanıt
    Sorun o degil.dongulerle yapılır ben oylesıne basıtce yazdım oraya takılma asıl takılcak nokta kod derlenmıyor dıger arkadasın üstteki arkadasın dedigi hayatı alıyorum bende
  • kubilay84 kullanıcısına yanıt
    Evet bendede aynı sıkıntıyı veriyor ama derlemıyor surumden desem aynı surum yuklu bendede
  • warning olduğunda derlenir normalde fakat belki warning varsa derleme şeklinde bir ayar yapıldıysa derlenmiyor olabilir. Bir de eclipse'de save ettiğinde projeyi otomatik derlenir run dediğinde çalışıyor olması lazım. İstersen bir de IntelliJ 'de derlemeyi dene
  • Kodun derleme kısmında herhangi bir sıkıntı yok. Sadece Scanner objesini kullanıma açtıktan sonra kullanıma kapatmadığın için bellekte sızıntıya yol açabilir diye uyarı veriyor.

    Derlemiyor diyorsun ama derlemediğine dair herhangi bir hata mesajı almamışsın herhalde ki bundan bahsetmiyorsun. Program kullanıcıdan iki girdi beklerken ekranda bir şey görmüyor olduğun için derlemiyor deme ihtimalini de düşünmedim değil.
  • senin yazdıgın kodu alıp birebir şekilde çalıştırdım sonuc

    Ahmet
    180
    Adınız: AhmetNumaranız180
    İşlem dogru ise 1e yanlış ise 2 ye basınız
    1
    Kaydınız alınmıştır.


    ilk senaryo için problem yok
    2.senaryo için

    if in else kısmındaki ad = scan.nextLine(); yerine ad=scan.next(); yaparsan problem kalmaz
    buda 2. senaryonun çıktısı

    Ahmet
    180
    Adınız: AhmetNumaranız180
    İşlem dogru ise 1e yanlış ise 2 ye basınız
    2
    Tekrardan adınızı ve soyadınız giriniz lütfen
    Ahmet
    180
    Adınız: AhmetNumaranız180
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.