2016-03-21 14 views
-1

Java'da yeni başlıyorum ve kullanıcının 1 ile 26 arasında bir sayı girmesine ve karşılık gelen sıralı harflerin görüntülenmesine izin verebilecek bir kod bölümü oluşturmayı öğrenmeye çalışıyorum.Java: Kullanıcı tarafından girilen bir sayıya kadar karşılık gelen alfabeler nasıl yazdırılır?

Örneğin, kullanıcı girerse 3 sonra bilgisayar çıktılayacaktır a, b,

şimdiden teşekkürler c.

Güncelleştirme: Aşağıdaki kodu yazdım ancak tamsayı dönüştürme bölümünde i'nin yerel bir değişkenin kopyası olduğunu belirten bir hata mesajı var mı?

Başka bir yöntemde, kullanıcı 1 ile 26 arasındaki bir sayıyı giriyor ve bu girişi "num" String değişkeni olarak okuyorum. Yanlış yapıyorum

public String getChar (int i){ 
 
\t \t String num; \t \t 
 
\t \t String text = mini1Num.getText(); 
 
\t \t 
 
\t \t Integer i = Integer.valueOf(text); 
 

 
\t \t return i > 0 && i < 27 ? String.valueOf((char)(i + 'A' - 1)) : null; 
 

 

 
\t }
?

+0

Olası kopyası [Harfe çevirme sayısı] (http://stackoverflow.com/questions/10813154/converting-number-to-letter) – Alexei

+0

Dize dizisi ve döngü kullanmayı deneyin, sonra da bazı kodlarla bize geri dönün . – heniv181

+0

1-26 değil 0-26 –

cevap

3
int n <---- number entered by user 
for(int i=97;i<(97+n);i++) 
    System.out.print((char)i+" "); 

Bu, ihtiyacınız olanı verir.


DÜZENLEME
Kodunuzdaki hata dönüş ifadesinde yatmaktadır.

return i > 0 && i < 27 ? String.valueOf((char)(i + 'A' - 1)) : null; 

değeri (i + 'A' -1) tip komur taşımaktadır. Bu nedenle, tür dökümleme temel olarak, (char) int yerine (char) char şeklini alır;

İlgili konular