2010-12-07 4 views
2

Java에 대한 과제를 담당하고 Triangle이라는 클래스를 만들었습니다. 여기에는 side1, side2 및 side3의 3 가지 변수가 있습니다. 내 생성자 메서드는 3 개의 float 값을 받아 각 변수에 순서대로 할당합니다.Java : int 및 double을 float으로 변환 하시겠습니까?

내 문제는 (10,11.1,12.2) 사용자가 (int, double, double)으로 취해서 필요한 부동 소수점을 넣지 않는다는 것입니다. 할당은 3면이 부동 소수점 값이어야한다고 말합니다.

그렇다면 어떻게 입력을 float로 변환 할 수 있습니까?

감사합니다.

잭.

+4

어떻게 입력을 받고 있습니까? –

+0

이 단계에서 나는 사용자로부터 입력을 얻지 못하고 수동으로 입력해야하며 입력 한 세 값은 10,11.1과 12.2 여야한다고 나와 있습니다. –

답변

2

변수/매개 변수 유형을 Number으로 지정하십시오. 숫자는 다른 숫자 원시 타입으로 쉽게 변환 될 수 있습니다.

Number n1 = (int)1; 
Number n2 = (double)123.456; 

Float f1 = n1.floatValue(); 
Float f2 = n2.floatValue(); 
3

일반적으로 적절한 유형으로 데이터를 읽습니다. Scanner.nextFloat. 이것은 "10"(또는 "11.1")을 플로트로 읽습니다. 컴파일러에게 중요한 것은 타입 서명뿐입니다.

1

문제의 원인이되는 리터럴을 사용하고 있다고 가정합니다. 그들 뒤에 "f"를 붙이면 그것들이 뜨게됩니다. 그렇지 않으면 사용자 인터페이스와 값을 가져 오는 방법에 완전히 의존합니다.

1

사용자 입력을 수락하면 거의 사용자 수준에서 문자열을 처리하게됩니다. 이 경우에는 Float.valueOf(String)을 사용하여 문자열의 float 표현을 가져올 수 있습니다.

이런 종류의 Java에서는 숫자 유형이 모두는 아닐지라도 대부분의 경우에 valueOf(String) 정적 메소드가 있습니다.

관련 문제