Java ile son 3 ayda çözdüğüm örnekleri Javascript ile en baştan çözmeye devam ediyorum. Gecenin ilk sorusu, dün paylaştığım JavaScript ile istenilen ölçülerde içi dolu dikdörtgen çizdiren program örneğinin içi boş versiyonu. Bu soruyu Java'da çözdüğümden biraz farklı çözeceğim. Java ile hazırladığım çözüm örneği için bkz: Java ile istenilen ölçülerde içi boş dikdörtgen çizdiren program
Çıktı: (9 ve 8 için)
İpucu:
Java ile hazırladığım çözümde üst ve alt bölümleri ayrı, orta bölümü ayrı hazırlamıştım. Bu sefer tüm dikdörtgeni aynı kod bloğu içinde yazdıracağız. Bunun için dikdörtgenin çevresinde olan bir alanda isek *, değilsek boşluk karakteri eklememiz gerekiyor. Dolayısıyla aşağıdaki kılavuzu takip edebiliriz:
Eğer aşağıdaki şartlardan birisi mevcutsa yıldız karakteri ekle (çerçevedeyiz demektir), mevcut değilse (iç kısımdayız demektir) boşluk karakteri ekle.
1. Eğer en üst satırda isek (i=1 ise)
2. Eğer en alt satırda isek (i=yükseklik ise)
3. Eğer satırın en başında isek (j=1 ise)
4. Eğer satırın en sonunda isek (j=genişlik ise)
Bütün bu ipucunun somut hali ise for döngüleri içindeki if şartı olacak.
Çözüm ve Kodlar:
var i,j;
var cikti="";
var yukseklik=Number(prompt("Dikdörtgenin yüksekliği kaç birim olsun?"));
var genislik=Number(prompt("Dikdörtgenin genişliği kaç birim olsun?"));
for (i=1; i<=yukseklik; i++)
{
for (j=1; j<=genislik; j++)
{
if (i===1 || i===yukseklik || j===1 || j===genislik)
cikti+="*";
else
cikti+=" ";
}
cikti+="\n";
}
console.log(cikti);