1. Penerangan masalah: Simpan dalam gelung tak terhingga, cetak berulang kali sehingga ralat berlaku
2.Kod berkaitan
int[] Aarray = new int[]{2,4,5,6,2};
int[] Barray = new int[]{3,6,2,4,6};
for (int i = 0 ;i < 10 ;i ++ )
{
if (i < 5)
{
System.out.print(Aarray[i] + "\t");
}
else
{
i -= 5;
System.out.print(Barray[i] + "\t");
}
}
Apabila i = 1, 2, 3, 4, jangan cakap lagi, cetak 1 2 3 4
Apabila i = 5, masukkan blok pernyataan else
i -= 5, iaitu i = i-5 keputusan ialah i = 0, kemudian i++
Kemudian saya mula menggelung dari 1 semula. Keadaan penamatan bagi gelung i < 10 tidak boleh ditamatkan
Akan ada hantu apabila anda melompat keluar. . . .
i -= 5;
Adakah ia salah taip?Setiap kali melalui gelung,
i++
把i
加 1,但是i -= 5
; 又把i
berkurang sebanyak 5.Apabila
i=5, jika tidak tahan, masukkan else,
selesaikan i -= 5; = pukul 5
...
Mudah, anda akan memahaminya selepas anda menjalankan program dalam fikiran anda Pada permulaan i=0, iaitu kurang daripada 5, keluaran, kemudian i++ mencapai 1, terus kurang daripada 5, dan keluaran, dan terus seperti. ini sehingga i=5, kemudian i<5 Jika ia tidak ditubuhkan, ambil cawangan lain, i-=5 i adalah kurang daripada 0 sekali lagi, dan kemudian ia mula memasuki gelung seterusnya seperti permulaan, jadi terdapat satu gelung tak terhingga
Jika anda melihat situasi setiap nilai i, ia akan menjadi jelas sekali imbas Apabila i>5, i masuk else Pada masa ini, i menjadi 0 semula, yang bermaksud bahawa saya tidak akan sampai ke penghujung i> ;10. Keadaan gelung
Logiknya salah Selepas menambah kepada 6, tolak 5 lagi, kembali kepada 1, dan kemudian tambah 1 setiap kali Selepas menambah kepada 6, tolak 5 lagi, kembali kepada 1, dan kitaran diteruskan.
Masalah logik, gelung tak terhingga
Untuk soalan seperti ini, disyorkan untuk mencari buku pengenalan atau menonton video pengenalan selama 10 minit