저는 Java에 익숙하지 않아 숙제 문제를 파악하는 데 몇 시간을 보냈지만 아직 해결하지 못했습니다. 다음과 같습니다.
인수를 금액으로 나타내는 String을 반환하는 오버로드 된 단일 인수 정적 메서드 money에 대해 다음 정의를 완료합니다. 예를 들어,Java (EMACS) 오버로드 메서드
입력이 두 배인 경우 2.5, 다음 문자열 "$ 2.50"을 반환합니다.
입력이 int 6 인 경우 문자열 "$ 6.00"을 반환합니다.
입력이 문자열 "6.125"이면 문자열 "$ 6.13"을 반환합니다.
나의 코스는 대부분의 학생들이 경멸하는 EIMACS를 사용하고 있으며, 코딩하는 동안 몇 가지 간단한 지름길을 허용하지만 종종 유익한 것보다 더 해로운 경우가 있습니다. 지금까지 나는 이것을 얻었습니다.
public static String money(int n)
{
double a = Integer.parseInt(n);
return money(n);
}
public static String money(double d)
{
double b = Double.parseDouble(d);
return money(d);
}
public static String money(String s)
{
return money(s);
}
public static void main(String[] args)
{
System.out.println(money(2.5));
}
누군가 내가 잘못하고있는 것을 알아낼 수 있습니까? 고맙습니다!
다음은 어떤 문제입니까? (명백한 문제가 있지만 명확하게 질문하는 것은 사용자의 책임입니다.) –
모든 메소드가 스스로를 호출하므로 무한 루프가 발생하여 반환 할 메소드를 다시 생각해보십시오. –
왜 여전히 double 값인 double 값을 파싱해야합니까? Int와 동일합니다. 프로그램을 컴파일 할 때 오류 메시지는 자체 설명해야합니다. –