2014-12-03 2 views
-3

이 코드는 컴파일되고 Netbeans에서 실행할 때 결과를 얻을 수 있지만 항상 RuntimeException이 발생합니다. Javadocs에서 Java 가상 머신의 정상적인 작동 중에 발생할 수있는 예외의 수퍼 클래스임을 알게되었습니다. 어떻게 제거 할 수 있습니까?Java 코드의 RuntimeException

// i++ 
float Etplus, TrueEplus, TrueVplus, fplus1=0; 
// Summation from i=1 to 10000 
for (int i=1;i<=10000;i++){ 
    fplus1 +=(float) 1/(Math.pow(i,4)); 
} 
TrueVplus = (float) ((Math.pow(Math.PI, 4))/90); 
TrueEplus = (float) TrueVplus - fplus1; 
Etplus = (float)(TrueEplus/TrueVplus)*100; 

JOptionPane.showMessageDialog (null,"Ft(i++) = "+TrueVplus + "\n\nFa(i++) = " +fplus1 + "\n\nEt(i++) = ("+Etplus+ ")%","Results for i++ (Float)", JOptionPane.INFORMATION_MESSAGE); 

// i-- 
float Etminus, TrueEminus, TrueVminus, fminus1=0; 

// Summation from i=10000 to 1 
for (int j=10000;j>=1;j--){ 
    fminus1 += (double) 1/(Math.pow(j, 4)); 
} 

TrueVminus = (double) (Math.pow((Math.PI), 4))/90; 
TrueEminus = (double) TrueVminus - fminus1; 
Etminus = (double) (TrueEminus/TrueVminus)*100; 

JOptionPane.showMessageDialog (null, "Ft(i--) = " 
+TrueVminus + "\n\nFa(i--) = " +fminus1 + "\n\nEt(i--) = (" +Etminus+")%","Results for i--(Float)", JOptionPane.INFORMATION_MESSAGE); 
+1

작동합니다. 아마도 그것은 오류 라인을 알려줍니다. – Adem

+3

전체 메서드와 스택 추적을 보여줄 수 있습니까? –

+2

완전한 오류를 알려주십시오 (스택 추적 포함). 아니면 우리가 추측하기를 바라십니까? – Seelenvirtuose

답변

1

나를 컴파일하기 때문에 이것을 컴파일하는 방법을 모르겠다. 이 행에는 문제가 있습니다.

TrueVminus = (double) (Math.pow((Math.PI), 4))/90; 
TrueEminus = (double) TrueVminus - fminus1; 
Etminus = (double) (TrueEminus/TrueVminus)*100; 

결과를 두 배로 변환하지만 변수 자체는 부동입니다. 이처럼 그것을 할 경우

TrueVminus = (float) (Math.pow((Math.PI), 4))/90; 
TrueEminus = (float) TrueVminus - fminus1; 
Etminus = (float) (TrueEminus/TrueVminus)*100; 

을 다음 당신이 오류 출력을 공유 할 수 있습니다 나를

+0

[RuntimeException] (http://javadocs.com/docs/oracle/j2sdk/1.4.0_04/java/lang/RuntimeException.java) 오류를 제거하려면 다음을 수행하십시오. .. 'float Etminus, TrueEminus, TrueVminus, fminus1 = 0;'에서 'float'을 두 배로 변경 하시겠습니까? – nickbschwartz

+0

아니요, 배정에서 (double)을 (float)으로 변경하십시오. –

+0

하지만 질문에 stacktrace를 게시하십시오 :( –