Chương 12: Locale và format

Câu 1: Code nào sau đây là đúng (chọn 2 đáp án)
A. Locale lc = Locale.US;
B. Locale lc = new Locale.US;
C. Locale lc = new Locale(Locale.US);
D. Locale lc = new Locale.Builder().setLanguage(“sr”).setScrtip(“Latn”).setRegion(“RS”).build();
E. Local lc = new Locale().Builder().setLanguage(“sr”).setScript(“Latn”).setRegion(“RS”).build();
F. Locale lc = new Locale().Builder().setLanguage(“sr”).setScrtip(“Latn”).setRegion(“RS”);
Câu 2: Code nào sau đây đúng khi ovveride method getContents() khi kế thừa class ListResourceBundle (chọn 1 đáp án)
A. protected Object[] getContents(){
Object[] contents = {“Yes”, “No”};
return contents;
}
B. protected Resource[] getContents(){
Object[] contents = {“Yes”, “No”};
return contents;
}
C. protected List<String> getContents(){
String[] ary = {“Yes”, “No”};
List<String> contents = Arrays.asList(ary);
return contents;
}
D. protected Object[][] getContents(){
Object[][] contents = {{“1″,”Yes”}, {“2″,”No”}};
return contents;
}
E. protected Resource[][] getContents(){
Resource[][] contents = {{“1″,”Yes”}, {“2″,”No”}};
return contents;
}
Câu 3: Câu nào sau đây đúng (chọn 1 đáp án)
A. Nếu sử dụng PropertyResourceBundle thì cần định nghĩa method getContents() với kiểu trả về là Object[][]
B. Nếu sử dụng PropertyResourceBundle cần chuẩn bị file property, kế thừa class PropertyResourceBundle và định nghĩa method getContents() để đọc từ file property
C. method keySet() của Lớp ResourceBundle trả về tất cả key của ResourceBundle này
D. Nếu sử dụng chung ListResourceBundle và PropertyResourceBundle trong cùng 1 chương trình sẽ có cảnh báo khi compile
Câu 4: Trong file Myesources_en_US.properties có key val1 giá trị start và key val2 giá trị end. Cách viết trong file như nào là đúng (chọn 1 đáp án)
A. val1[start]
val2[end]
B. val1, start
val2, end
C. val1=start
val2=end
D. val1.start
val2.end
Câu 5: File resource bundle nào sau đây là đúng nếu mã ngôn ngữ là fr và mã quốc gia là FR (chọn 2 đáp án)
A. MyResources_fr_FR.class
B. MyResources_fr_FR.txt
C. MyResources_fr_FR.properties
D. MyResources_fr_FR.resources
E. MyResources_fr_FR.bundle
Câu 6: Compile và chạy chương trình sau kết quả là (chọn 1 đáp án)
File MyResources_en_US.properties

A. apple
B. A
C. A=apple
D. compile error
E. runtime error
F. Compile success nhưng ko in ra gì cả
Câu 7: Giả sử có 2 file sau
MyResources_en_US.properties:
data = A
MyResources_ja_JP.properties:
data = B
Nếu locale mặc định của môi trường là ja_JP thì chương trình sau kết quả là gì (chọn 1 đáp án)

A. data : A
B. data : B
C. data : data = A
D. data : data = B
E. compile error
F. runtime error
G. compile success nhưng ko in ra gì
Câu 8: Giả sử có 3 file sau
MyR.properties:
data=A
MyR_en.properties:
data=B
MyR_en_US.properties:
data=
Compile và chạy chương trình sau kết quả là gì (chọn 1 đáp án)

A. compile error
B. runtime error
C. ||
D. |A|
E. |B|
Câu 9: Giả sử có file sau
SE_en_US.properties:
drink = coke
food = cookie
Chạy chương trình sau kết quả là (chọn 1 đáp án)

A. coke cookie
B. coke fruit
C. water cookie
D. water fruit
E. water
F. compile error
Câu 10: Chạy chương trình sau kết quả là (chọn 1 đáp án)

A. 2020/02/10
B. 2020-02-10
C. 02/10
D. 2-10
E. compile error
F. runtime error
Câu 11: Chạy chương trình sau kết quả là (chọn 1 đáp án)

A. 18,11,14
B. 2018,11,14
C. 18-11-14
D. 2018-11-14
E. compile error
F. runtime error

  • Class locale có thể tạo bằng new nhưng ko có construct ko tham số. Cần set mã ngôn ngữ và mã nước. Có thể get instance bằng hằng số có sẵn hoặc dùng class Locale.Builder. Nếu dùng class builder thì phải set ngôn ngữ sau đó mới buid()
  • Java.util.ListResourceBundle Class có method getContents trả về các resource dưới dạng key value trong 1 mảng object[][]
  • ListResourceBundle và PropertyResourceBundle sử dụng cùng nhau cũng ko có error hay warning. Cả 2 đều kế thừa từ ResourceBundle và phương thức keySet sẽ trả về tất cả các key thuộc resourceBundle này
  • key và value khai báo trong resource theo dạng key=value
  • resource bundle có 2 kiểu 1 là class kế thừa từ ListResourceBundle 2 là file dạng properties
  • resourceBundle obj khi gọi getObject phải có key là string nếu ko sẽ conplie error
  • Khi không có resource sẽ xảy ra runtime missingresourceexception
  • Phương thức get của object properties ko thể set value mặc định. Muốn set value mặc định khi ko có key phải dùng method getProperties

  • java.util.Properties có thế sử dụng với file XML hoặc file binary
  • Thứ tự ưu tiên khi tìm local: class trùng cả ngôn ngữ và đất nước  -> file properties trùng cả ngôn ngữ và đất nước -> class trùng ngôn ngữ -> file properties trùng ngôn ngữ -> class mặc định -> properties mặc định

Đáp án:

  1. A D
  2. D
  3. C
  4. C
  5. A C
  6. D
  7. F
  8. C
  9. F
  10. F
  11. D

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *