JavaScript is required

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”);
}
}

A.
2 và 6
B.
3 và 11, 15
C.
5, 7, 9
D.
Chương trình không sai
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