kanske för att valueOf() vill ha en long och Math.pow returnerar double.
summa=summa.add( BigDecimal.valueOf((long)Math.pow(i,i)) );
2 svar · 311 visningar · startad av pulse
Ok jag sitter och försöker lösa några av de programmerings-matteuppgifter som någon postade förut, men jag har kört fast med hur man använder BigDecimal i java. Jag har följande kod:
import java.math.*;
class Project
{
public static void main(String[] args)
{
BigDecimal summa = new BigDecimal(0);
for(int i=0; i<=15; i++)
{
summa=summa.add(BigDecimal.valueOf(Math.pow(i,i)));
}
System.out.println("Summa: "+summa);
}
}
Men får ett typomvandlingsfel. Någon som har något förslag på lösning?
kanske för att valueOf() vill ha en long och Math.pow returnerar double.
summa=summa.add( BigDecimal.valueOf((long)Math.pow(i,i)) );
du kanske borde börja loopa på 1 också, 0 upphöjt i 0 gör ingen glad