次の問題の出力結果を答えてください
問題 Locale設定
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("ja", "JP");
System.out.println(locale.getDisplayCountry(Locale.US));
}
}
解答
Japan
問題 数値のフォーマット
import java.text.NumberFormat;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("en", "US");
NumberFormat formatter = NumberFormat.getCurrencyInstance(locale);
System.out.println(formatter.format(1000.50));
}
}
解答
$1,000.50
問題 デフォルトロケール
デフォルトロケール: JAPAN
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale defaultLocale = Locale.getDefault();
System.out.println(defaultLocale.getLanguage());
}
}
解答
ja
問題 日付のフォーマット
日時が2024/08/22の場合
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("ja", "JP");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG, locale);
System.out.println(dateFormat.format(new Date()));
}
}
解答
2024年8月22日
問題 サポートされていないロケール
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.MissingResourceException;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("pt", "BR");
try {
ResourceBundle bundle = ResourceBundle.getBundle("MessagesBundle", locale);
System.out.println(bundle.getString("greeting"));
} catch (MissingResourceException e) {
System.out.println("Resource not found!");
}
}
}
解答
Resource not found!
問題 数値フォーマットのデフォルトロケール
デフォルトロケールがJAPANの場合
import java.text.NumberFormat;
public class Main {
public static void main(String[] args) {
NumberFormat formatter = NumberFormat.getCurrencyInstance();
System.out.println(formatter.format(123456.789));
}
}
解答
¥123,457
Locale.setDefault("ja");とした場合、地域のロケール情報が含まれないため、国際通貨記号が表示されます。
¤123,456.79
問題 ListResourceBundleの使用
import java.util.ListResourceBundle;
public class MyResourceBundle extends ListResourceBundle {
@Override
protected Object[][] getContents() {
return new Object[][]{
{"greeting", "Hola, Mundo!"}
};
}
}
public class Main {
public static void main(String[] args) {
MyResourceBundle bundle = new MyResourceBundle();
System.out.println(bundle.getString("greeting"));
}
}
解答
Hola, Mundo!
問題 ロケールの言語コード
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = Locale.forLanguageTag("en-GB");
System.out.println(locale.getLanguage());
}
}
解答
en
問題 ロケールによる数値のフォーマット
import java.text.NumberFormat;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("ja", "JP");
NumberFormat formatter = NumberFormat.getNumberInstance(locale);
System.out.println(formatter.format(123456.789));
}
}
解答
123,456.789
問題 ロケールタグを使用したフォーマット
デフォルトロケールが日本の場合
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = Locale.forLanguageTag("zh-CN");
System.out.println(locale.getDisplayLanguage());
}
}
解答
中国語
問題 ロケールによるパーセンテージ表示
import java.text.NumberFormat;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("fr", "FR");
NumberFormat formatter = NumberFormat.getPercentInstance(locale);
System.out.println(formatter.format(0.75));
}
}
解答
75 %
問題 日付のロケール依存フォーマット
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("de", "DE");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
System.out.println(dateFormat.format(new Date()));
}
}
解答
22.08.2024
問題 リソースバンドルの例外処理
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.MissingResourceException;
public class Main {
public static void main(String[] args) {
try {
ResourceBundle bundle = ResourceBundle.getBundle("MessagesBundle", new Locale("ru", "RU"));
System.out.println(bundle.getString("nonexistent"));
} catch (MissingResourceException e) {
System.out.println("Resource not found");
}
}
}
解答
Resource not found
問題 ロケールと時刻フォーマット
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("es", "ES");
DateFormat timeFormat = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
System.out.println(timeFormat.format(new Date()));
}
}
解答
22:30
問題 通貨のロケール依存フォーマット
import java.text.NumberFormat;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("zh", "CN");
NumberFormat formatter = NumberFormat.getCurrencyInstance(locale);
System.out.println(formatter.format(1000000));
}
}
解答
¥1,000,000.00
問題 メッセージフォーマットの使用
import java.text.MessageFormat;
public class Main {
public static void main(String[] args) {
String pattern = "The price of {0} is {1,number,currency}.";
String message = MessageFormat.format(pattern, "Apple", 123);
System.out.println(message);
}
}
解答
The price of Apple is ¥123.
問題 曜日のロケール依存表示
import java.text.DateFormatSymbols;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
try {
Locale locale = new Locale("ja", "US");
String[] weekdays = new DateFormatSymbols(locale).getWeekdays();
System.out.println(weekdays[1]);
} catch (Exception e) {
System.out.println(e.getClass());
}
}
}
解答
日曜日
0の場合: 何も表示されない
8の場合: class java.lang.ArrayIndexOutOfBoundsExceptionが表示される
問題 カスタムフォーマットパターン
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
Locale locale = new Locale("ja", "JP");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm", locale);
System.out.println(sdf.format(new Date()));
}
}
解答
2024/08/22 22:30