Я делаю упражнения первой главы в своей книге Java, и я некоторое время задерживался на проблему. Я напечатаю вопрос,нужна помощь с некоторыми базовыми java
запрос/прочитайте двойное значение, представляющее собой денежную сумму. Затем определите наименьшее количество каждого счета и монеты, необходимых для представления этой суммы, начиная с самого высокого (предположим, что десятидолларовая купюра является максимальным размером). Например, если введенное значение 47,63 (сорок семь долларов и шестьдесят три цента), и программа должна напечатать эквивалентную сумму в качестве:
- 4 десять долларовых банкнот
- 1 пять долларовых купюр
- 2 один долларовых банкнот
- 2 четверти
- 1 Dimes
- 0 Никелс
- 3 пенсы»
т.д.
Я делаю пример точно так, как они сказали, чтобы получить представление о том, как вы увидите в коде. Тем не менее мне удалось распечатать 4 доллара, и я не могу понять, как получить «1 пять долларов», всего 7 долларов (см. Код).
Пожалуйста, не используйте весь код для меня. Мне просто нужен совет в отношении того, что я сказал. Спасибо.
import java.util.Scanner;
public class PP29 {
public static void main (String[] args) {
Scanner sc = new Scanner (System.in);
int amount;
double value;
double test1;
double quarter;
System.out.println("Enter \"double\" value: ");
value = sc.nextDouble();
amount = (int) value/10; // 47,63/10 = 4.
int amount2 = (int) value % 10; // 47 - 40 = 7
quarter = value * 100; // 47,63 * 100 = 4736
int sum = (int) quarter % 100; // 4763/100 => 4763-4700 = 63.
System.out.println(amount);
System.out.println(amount2);
}
}
ok um. поэтому 7/5 должны дать мне один долларовый счет, а 7% 5 должны дать мне остаток, чтобы получить 7 долларов, так как я взял 5 долларов из него, то есть 2. Правильно? :) – Racket
@Racket: Это правильно. –