2016-03-30 32 views
1

birisi (Ben java yeniyim)java Char parametresi olan bir yöntem oluşturma

Bir yöntem drawSeparators yazmak zorunda ve parametredir karakterdir minnettar bu talimatlar kimliği yıkmak olsaydı Yatay ayırıcılar için kullanılacak .... ayırıcı olarak - ve = karakterlere ihtiyacım var. Şimdiye kadar ben gerekli aldıktan sonra adlandırılan bu (aşağıda) var ama aradığında aslında işe gitmek için nasıl bilmiyorum: char bulundu: hayır argümanlar nedeni: fiili ve resmi argüman listeleri boyunda farklılık

private void drawSeparators(char separator) 
{ 
ta.append("----------------------------------------------------------"); 
ta.append("=========================================================="); 

} 

cevap

2
private static final int NUM_CHARS = 40; //number of chars to print 
private void drawSeparators(char separator) 
{ 
    for(int i = 0; i < NUM_CHARS; i++) 
    { 
     ta.append(separator); 
    } 
} 

aramaya:

drawSeparators('='); 
+0

Sonunda '\ n 'ekleyeceksiniz! – Ram

+1

Dışarıda bıraktım çünkü örnek kodunda da bıraktı –

2
private void drawSeparator(final char separator) 
{ 
    for (int index = 0; index < SOME_NUMBER_OF_YOUR_CHOICE; ++index) 
    { 
    ta.append(separator); 
    } 
} 
+0

buna ihtiyacımız neden ' method argümanı 'final' anahtar kelime? – Ram

+0

buna gerek yok ama sanırım bunu açık olarak seçti çünkü bu yöntemin yazdırılacak istenen karakterin değiştirilmemesi beklenmiyor –

+0

Her zaman argüman için final kullanıyorum. Bu iyi bir alışkanlıktır, ancak evrensel olarak iyi kabul edilmeyen bir durumdur. Argümanlarınız kesinse, derleyici metot içinde bunları değiştirmek için herhangi bir girişimde bulunacaktır. – DwB

1
private final static int SEPARATOR_COUNT = <your_max_number>; 

public void main(String[] args) { 
    // 
    // 
    // 
    // code 
    // 
    // 
    // 

    // When passing a character, make sure to use ' (char) and not " (String) 
    // You can also make these characters constants, but that's up to you 
    drawSeparators('-'); 
    // and/or 
    drawSeparators('='); 
} 

private void drawSeparators(char separator) { 
    for (int index = 0; i < SEPARATOR_COUNT; index++) { 
     ta.append(separator); 
    } 
} 
İlgili konular