2013-09-22 2 views
0
import java.util.*; 

class CompoundInterest 

{ 

public static void main() 

    { 
     Scanner s = new Scanner(System.in); 

     System.out.println("Enter Principal Amount"); 
     float p = s.nextFloat(); 

     System.out.println("Enter Time Period i.e. number of years"); 
     float t = s.nextFloat(); 

     System.out.print("Enter Rate of Interest"); 
     float r = s.nextFloat(); 

     float a = p * (Math.pow(((1+ (r/100))), t)); 

     float ci = a-p; 

     System.out.println("Compound Interest = " +ci); 
     System.out.println("Amount = " +a); 
    } 
} 

Я получаю сообщение об ошибке, как это:Compound Interest с помощью сканера

потери точности

Требуется: поплавок

найдено: двойной

1 ошибка

ответ

0

Чувак !! java.lang.Math.pow (double, double) принимает два двойных аргумента и возвращает двойное значение. Вы передали float params в качестве фактических параметров для этого метода. Чтобы принудить их преобразовать в double.but, а при возврате вы присваивание возвращаемого значения плавающему значению, где автоматическое принуждение невозможно! Так что либо бросьте его на плаву явно, либо назначьте его двойной переменной .... любой ценой он должен возвращать только двойное значение