https://www.hackerrank.com/challenges/java-currency-formatter/problem?isFullScreen=true
[에러1]
import java.util.*;
import java.text.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double payment = scanner.nextDouble();
scanner.close();
// Write your code here.
String us = "";//423132
String india = "";//
String china = "";//
String france = "";//
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);
us = nf.format(payment);
nf = NumberFormat.getCurrencyInstance(Locale.forLanguageTag("India"));
india = nf.format(payment);
nf = NumberFormat.getCurrencyInstance(Locale.CHINA);
china = nf.format(payment);
nf = NumberFormat.getCurrencyInstance(Locale.FRANCE);
france = nf.format(payment);
System.out.println("US: " + us);
System.out.println("India: " + india);
System.out.println("China: " + china);
System.out.println("France: " + france);
}
}
=> 오류1 실행 결과
US: $12,324.13
India: ¤ 12,324.13
China: ¥12,324.13
France: 12 324,13 €
=> 답이랑 비교해보면, 인디아의 통화단위가 다르게 보여야 한다.
(Note: India does not have a built-in Locale, so you must construct one where the language is en (i.e., English).)
US: $12,324.13
India: Rs.12,324.13
China: ¥12,324.13
France: 12 324,13 €
import java.util.*;
import java.text.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double payment = scanner.nextDouble();
scanner.close();
// Write your code here.
String us = "";
String india = "";
String china = "";
String france = "";
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);
us = nf.format(payment);
Locale india_locale = new Locale("en", "IN");
nf = NumberFormat.getCurrencyInstance(india_locale);
india = nf.format(payment);
nf = NumberFormat.getCurrencyInstance(Locale.CHINA);
china = nf.format(payment);
nf = NumberFormat.getCurrencyInstance(Locale.FRANCE);
france = nf.format(payment);
System.out.println("US: " + us);
System.out.println("India: " + india);
System.out.println("China: " + china);
System.out.println("France: " + france);
}
}
Given a double-precision number, , denoting an amount of money, use the NumberFormat class' getCurrencyInstance method to convert into the US, Indian, Chinese, and French currency formats. Then print the formatted values as follows:
US: formattedPayment
India: formattedPayment
China: formattedPayment
France: formattedPayment
where is formatted according to the appropriate Locale's currency.
Note: India does not have a built-in Locale, so you must construct one where the language is en (i.e., English).
Input Format
A single double-precision number denoting .
Constraints
Output Format
On the first line, print US: u where is formatted for US currency.
On the second line, print India: i where is formatted for Indian currency.
On the third line, print China: c where is formatted for Chinese currency.
On the fourth line, print France: f, where is formatted for French currency.
Sample Input
12324.134
Sample Output
US: $12,324.13
India: Rs.12,324.13
China: ¥12,324.13
France: 12 324,13 €
Explanation
Each line contains the value of formatted according to the four countries'
'공부해요 > JAVA' 카테고리의 다른 글
[못품]Pattern Syntax Checker (0) | 2024.01.17 |
---|---|
[온라인 자바 스터디 1주차] 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기 (0) | 2021.01.15 |
신입SW인력을 위한 실전 자바 동영상과정 05강 (0) | 2016.08.24 |
신입SW인력을 위한 실전 자바 동영상과정 03강 (0) | 2016.08.23 |
신입SW인력을 위한 실전 자바 동영상과정 02강 JAVA 프로그래밍이란-II & 변수 (0) | 2016.08.19 |