Java'da telefon tuşları

mustafaf94

Hectopat
Katılım
18 Mart 2014
Mesajlar
238
Daha fazla  
Cinsiyet
Erkek
JAVA'da telefon tuşlarını yapmam lazım. Eski telefon tuşlarını yani. Mesela kullanıcı String olarak Merhaba girdiğinde çıktı olarak 6374222 çıkması lazım. Kullanıcı 0 girene kadar da kelime istemesi lazım kullanıcıdan. Ben biraz yazdım ama bayağı bir eksiği var. Yardımlarınızı bekliyorum :)
 

Dosya Ekleri

  • JAVA.png
    JAVA.png
    53,1 KB · Görüntüleme: 384
Merhabalar,
Kodunuz genel olarak iyi :) Aşağıdaki kod ile kullanıcıdan tekrar tekrar kelime alınabilir ve kullanıcı istediği anda da programdan çıkabilir. Tam olarak yapmak istediğiniz şey bu mu?
Kod:
//main metodu kodları
  Scanner input = new Scanner(System.in);
  String word;
  int i;

  while (true)
  {
  System.out.println("Bir kelime giriniz : ");
 
  //Burada word değişkenini büyük harfli yapmalıyız
  //çünkü switch bloğunda büyük harflerle işlem yapıyoruz.
  word = input.nextLine().toUpperCase();
 
  //i<= yerine i< olmalı
  for (int i = 0; i < word.length(); i++) {
  char a = word.charAt(i);
  switch (a)
  {
  //Burada da syntax hatası mevcut
  case 'A':
  case 'B':
  case 'C':
  System.out.print(1);
  break;

  //....
  }
  }

  //for bloğunun dışından itibaren bu kodlar
  System.out.println("Çıkmak için q veya Q giriniz...");
  String secim = input.nextLine().toLowerCase();
  if (secim.equals("q"))
  break;
  }
Ufak bir rica kodunuzu text olarak paylaşır mısınız? Ekran görüntüsü olarak paylaştığınızda kodu elle en baştan yazıp çalıştırmak zorunda kalabiliyoruz.
 
Son düzenleme:
Evet bu tarz bir şey lazım fakat "reached end of while parsing" şeklinde bir hata alıyorum ve nasıl düzelteceğime dair bir fikrim yok. Çok sık aldığım bir hata:)
Kodun şu andaki durumu bu ve son satırda bu hatayı veriyor.
 

Dosya Ekleri

  • telefon.png
    telefon.png
    57 KB · Görüntüleme: 789
Kodunuzda var olan ufak hataları yukarıda belirttim. Onları düzeltin sorun kalmayacaktır.
Çok teşekkürler yardımınız için, resim olarak paylaşmaksa benim hatam kusura bakmayın, alışkanlıktan. Fakat hala "reached end of while parsing" hatası alıyorum son satırda. Bu hatayı düzeltmemin bir yolu yokmuş gibi geliyor. Her yazdığım kodda görüyorum.
 
Bir süslü parantez ( { ) eksik kalmıştır.
Evet onu düzelttim fakat başka bir hata yaptım. Programdan çıkmak için kullanıcının 0 girmesi gerek. Bundan dolayı sizin yolladığınız kodun son kısmın nextInt yapıp secimi String değil int yaptım. Sanırım bu yüzden if ile başlayan satırda bir hata oluştu :)
equals'ın stringlerde çalıştığını unutmuşum, düzelttim. Her şey için tekrar teşekkürler.
 
Paylaşmak güzel :)
Çalıştırınca farkettiğim bir hata daha var aslında:) Mesela input olarak yusuf yazdıgımda, sadece y nin karşılığı olan 9 u basıyor. Gerisini yazmıyor. Ayrıca kullanıcıdan sadece 1 kelime alabiliyorum. 1. kelimeden sonra hemen çıkmak için 0 giriniz diyor. Fakat benim kullanıcıdan alacağım kelime sayısı kullanıcıya kalmış. İsterse 10 kelime de girebilmesi lazım. Bunu nasıl yapabilirim?
 
Uyarı! Bu konu 12 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı