Hai teman-teman baru saja melihat beberapa tugas sebelumnya dan saya tidak tahu mengapa loop sementara saya tidak berfungsi. Saya perlu mengambil input dan memasukkan angka antara 1 dan 10. Masalahnya adalah loop while hanya memvalidasi entri di luar parameter

int n;

Scanner sc = new Scanner(System.in);

do {
  System.out.print("Enter number 1&10");
  n = sc.nextInt();
}

while (n>=1 && n<=10);

System.out.print("Validated number = "+ n);
0
Aidan Ward 19 September 2019, 19:23

1 menjawab

Jawaban Terbaik

Kondisi Anda mengatakan "Terus iterasi saat nilainya dalam rentang yang kita inginkan." Tentunya Anda ingin terus meminta masukan lebih banyak kepada pengguna saat nilainya di luar rentang yang Anda inginkan:

do {
  System.out.print("Enter number 1&10");
  n = sc.nextInt();
} while (n < 1 || n > 10);

Selalu pikirkan tentang kondisi yang ingin direpresentasikan, dan ingat bahwa loop akan terus berjalan jika kondisinya true.

3
Jon Skeet 19 September 2019, 16:25