İç İçe Döngü
Coddy'nin Kotlin Journey'sinin Temel Kavramlar bölümünün bir parçası. Ders 52 / 93.
İç içe döngü oluşturmak için bir döngüyü başka bir döngünün içine yerleştirebilirsin. İç döngü, dış döngünün her yinelemesinde tamamen çalışır.
val rows = 2
val cols = 3
for (i in 1..rows) {
for (j in 1..cols) {
println("i=$i, j=$j")
}
}
// Çıktı:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3i 1 olduğunda, iç döngü cols kez çalışır (j, 1'den 3'e kadar gider). Ardından i 2 olur ve iç döngü baştan başlar; j yine 1'den 3'e kadar gider. Böylece toplam 2 × 3 = 6 yineleme elde ederiz. rows ve cols hiç değişmez: yalnızca döngülere ne zaman duracaklarını söylerler.
İç içe döngüler genellikle desenler oluşturmak veya ızgara benzeri yapılarla çalışmak için kullanılır:
for (row in 1..3) {
for (col in 1..row) {
print("*")
}
println()
}
// Çıktı:
// *
// **
// ***Burada, iç döngünün aralığı dış döngünün değişkenine bağlıdır ve bir üçgen deseni oluşturur. print() işlevi yeni satıra geçmeden çıktı verirken, println() her satırdan sonra bir sonraki satıra geçer.
Görev
OrtaGirdiden bir tam sayı n okuyun. 1'den n'ye kadar olan sayıların çarpım tablosunu yazdırmak için iç içe döngüler kullanın.
1'den n'ye kadar her i satırı için i * 1, i * 2, ..., i * n çarpımlarını aralarında boşluk olacak şekilde yazdırın ve ardından yeni satıra geçin.
Örneğin, girdi 3 ise çıktı şöyle olmalıdır:
1 2 3
2 4 6
3 6 9Girdi 4 ise çıktı şöyle olmalıdır:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16Aynı satırdaki değerleri yazdırmak için arada boşluk bırakarak print() kullanın ve sonraki satıra geçmek için println() kullanın.
Her döngü için yeni bir sayaç kullanın (örneğin satırlar için i, sütunlar için j) ve her ikisini de n ile karşılaştırın. n'nin kendisini değiştirmeyin: her satırda ona yeniden ihtiyaç duyulur.
Kendin dene
fun main() {
// Girdiyi oku
val n = readLine()!!.toInt()
// TODO: Kodunu aşağıya yaz
// Çarpım tablosunu yazdırmak için iç içe döngüler kullan
// Aynı satırdaki değerler için aralarına boşluk koyarak print() kullan
// Sonraki satıra geçmek için println() kullan
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Kavramlar bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırımlı AtamaKarşılaştırma OperatörleriTekrar - Basit Matematik7Temel Girdi/Çıktı
Println FonksiyonuDize ŞablonlarıReadLine GirdisiTür DönüşümüTekrar - Emekliliğe Kalan YıllarTekrar - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriAdlandırılmış ArgümanlarVarsayılan DeğerlerTek İfadeli FonksiyonlarTekrar - Sigma FonksiyonuTekrar - Doğrulama Fonksiyonu2Değişkenler
Val ve VarTür ÇıkarımıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3If İfadesiyle Üçlü OperatörTekrar - Basit Mantık8Hesap Paylaştırma Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma3Null Olabilirliği
Null Güvenliği NedirNull Olabilir TürlerGüvenli Çağrı OperatörüElvis OperatörüFonksiyon Görevi TemelleriNull Değil DoğrulamasıÖzet - Güvenli Erişim6Karar Verme
If İfadesiIf - Elseİfade Olarak IfWhen İfadesiAralıklarla WhenTekrar - Basit Hesap Makinesi9Döngüler
For DöngüsüWhile DöngüsüDo-While DöngüsüBreakContinueDöngülerde Aralıklarİç İçe DöngüTekrar - FaktöriyelTekrar - Dinamik GirdiKendi başına pratik yap: Kotlin playground