Chương trình trên sai ở dòng nào?
class BreakDemo {
public static void main(String[] args) {
int[] arrayOfInts = {
32,
87,
3,
589,
12,
1076,
2000,
8,
622,
127
};
int searchFor = 12;
int i;
boolean fountIt = false;
for (i = 0; i < arrayOfInts.length; i++) {
if (arrayOfInts[i] == searchFor) {
fountIt = true;
break;
}
}
if (fountIt) {
System.out.println(“Found“ + searchFor + “at index“ + i);
} else System.out.println(searchFor + “not in the array”);
}
}
class BreakDemo {
public static void main(String[] args) {
int[] arrayOfInts = {
32,
87,
3,
589,
12,
1076,
2000,
8,
622,
127
};
int searchFor = 12;
int i;
boolean fountIt = false;
for (i = 0; i < arrayOfInts.length; i++) {
if (arrayOfInts[i] == searchFor) {
fountIt = true;
break;
}
}
if (fountIt) {
System.out.println(“Found“ + searchFor + “at index“ + i);
} else System.out.println(searchFor + “not in the array”);
}
}
Trả lời:
Đáp án đúng: D
Chương trình sai ở dòng 21:
System.out.println(“Found“ + searchFor + “at index“ + i);
Lỗi sai ở đây là dấu ngoặc kép trong chuỗi ký tự. Dấu ngoặc kép phải là dấu ngoặc kép thẳng ("") chứ không phải dấu ngoặc kép nghiêng (“”).
Ngoài ra, chương trình có thể biên dịch được, nhưng sẽ không chạy như mong muốn do lỗi chính tả "fountIt" thay vì "foundIt" ở dòng 10 và 17. Tuy nhiên, theo đề bài thì câu hỏi tập trung vào lỗi cú pháp khiến chương trình không biên dịch được, nên lỗi chính tả không phải là trọng tâm.
Dòng 6, 7, 9 không sai vì đây là cách khai báo và khởi tạo mảng nhiều dòng.
Dòng 3, 11, 15 không sai vì đây là cú pháp hoàn toàn hợp lệ trong Java.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
