1
Programowanie / [Java]Działanie nie chce dać wyniku zmiennoprzecinkowego float.
« dnia: 2020-10-16, 16:35 »
Program pyta użytkownika o wartość kupowanej rzeczy, o ilość rat w których ma zostać spłacona ta rzecz, a na końcu podaje ile wynosi jedna rata wraz z oprocentowaniem. Na przykładnie ostatniego ifa: zmienna "oprocentowanie" zawsze wynosi 0.0, np. dla wartości cena = 100, raty = 25, zmienna ta powinna wynosić 0.4, jednak zawsze podaje wartość 0.0. Co zrobiłem źle w działaniu zmiennej "oprocentowanie"?
Spoiler
import java.util.Scanner;
public class Raty {
public static void main(String[] args){
float cena;
float raty;
Scanner scanner = new Scanner(System.in);
do {
System.out.println("Podaj cenę towaru od 100zł do 10000zł: ");
cena = scanner.nextFloat();
}while(cena < 100 || cena > 10000);
do {
System.out.println("Podaj w ilu ratach chcesz spłacić towar(6-48): ");
raty = scanner.nextFloat();
}while(raty < 6 || raty > 48);
if(raty >= 6 && raty <= 12){
float rata = cena / raty;
float oprocentowanie = (float) ((2.5/100) * rata);
float outcome = rata + oprocentowanie;
System.out.println("Twoje oprocentowanie wynosi 2,5%. Jedna rata + odsetki wynosi: " + outcome);
}
if(raty >= 13 && raty <= 24){
float rata = cena / raty;
float oprocentowanie = (float) ((5/100) * rata);
float outcome = rata + oprocentowanie;
System.out.println("Twoje oprocentowanie wynosi 5%. Jedna rata + odsetki wynosi: " + outcome);
}
if(raty >= 25 && raty <= 48){
float rata = cena / raty;
float oprocentowanie = (float) ((10/100) * rata);
System.out.println("Oprocentowanie: " + oprocentowanie);
float outcome = rata + oprocentowanie;
System.out.println("Twoje oprocentowanie wynosi 10%. Jedna rata + odsetki wynosi: " + outcome);
}
}
}
public class Raty {
public static void main(String[] args){
float cena;
float raty;
Scanner scanner = new Scanner(System.in);
do {
System.out.println("Podaj cenę towaru od 100zł do 10000zł: ");
cena = scanner.nextFloat();
}while(cena < 100 || cena > 10000);
do {
System.out.println("Podaj w ilu ratach chcesz spłacić towar(6-48): ");
raty = scanner.nextFloat();
}while(raty < 6 || raty > 48);
if(raty >= 6 && raty <= 12){
float rata = cena / raty;
float oprocentowanie = (float) ((2.5/100) * rata);
float outcome = rata + oprocentowanie;
System.out.println("Twoje oprocentowanie wynosi 2,5%. Jedna rata + odsetki wynosi: " + outcome);
}
if(raty >= 13 && raty <= 24){
float rata = cena / raty;
float oprocentowanie = (float) ((5/100) * rata);
float outcome = rata + oprocentowanie;
System.out.println("Twoje oprocentowanie wynosi 5%. Jedna rata + odsetki wynosi: " + outcome);
}
if(raty >= 25 && raty <= 48){
float rata = cena / raty;
float oprocentowanie = (float) ((10/100) * rata);
System.out.println("Oprocentowanie: " + oprocentowanie);
float outcome = rata + oprocentowanie;
System.out.println("Twoje oprocentowanie wynosi 10%. Jedna rata + odsetki wynosi: " + outcome);
}
}
}