Я работаю над домашним заданием для моего вступления в класс информатики, и мы вводим основные команды, чтобы получить процент людей, которые пьют определенный энергетический напиток. Мы использовали JOptionPane для создания текстовых полей, и вы можете ввести количество людей, и компьютер имеет заданный процент, чтобы получить результат. Моя проблема заключается в том, что я задал свои переменные как удвоенные, а мои ответы - очень длинными десятичными знаками. Я хочу преобразовать ответы в Ints, чтобы получить целые числа. Я попытался сделать это с помощью кастинга, но я продолжаю получать сообщение об ошибке «EnergyDrink.java:14: ошибка: переменная citrusEnergyDrinkers, возможно, не была инициализирована». Что я могу сделать?Изменение парных разрядов
ответ
Это не может быть разрешено без кода. Ошибка не из-за каких-либо проблем с переводом, а просто как компилятор ошибок говорит:
variable citrusEnergyDrinkers might not have been initialized
Это означает, что переменная не может содержать значение в то время, когда вы пытаетесь преобразовать его, что приводит к неопределенное поведение, которое java-дизайнеры не допустили по причине.
Проблема заключается в том, что сообщение об ошибке сообщает: citrusEnergyDrinkers
получает свое значение внутри некоторого блока try-catch или блока, который запускается только при определенных условиях, например if
. Одним из способов обойти это было бы просто инициализировать citrusEnergyDrinkers
как 0:
double citrusEnergyDrinkers = 0;
.
Обратите внимание, что это может привести к неправильным результатам в зависимости от того, что происходит, когда значение не установлено, если вышеупомянутый блок кода не вводится/не прерывается перед установкой значения.
Для преобразования:
Math.round(citrusEnergyDrinkers)
наиболее вероятно, предпочтительнее простого бросок к int
, так как double
большой части времени имеют некоторую неточность в связи с тем, как она хранится в памяти и round
будет на самом деле вокруг значения, в то время как гипс просто удалит фрикционную часть. Например:
(int) 0.75 //produces 0
Math.round(0.75) //produces 1
Вы могли бы умножить дважды на 100 и затем приводится к междунар:
double d = .77583495;
int perc = (int) Math.round(d);
Я предпочитаю, чтобы не отбрасывать, как это, но это работает.
Удачи.
- 1. Множество парных разрядов
- 2. C++ Сравнение парных разрядов
- 3. Объекты текстуры для парных разрядов
- 4. SIMD в массиве парных разрядов?
- 5. Преобразование парных разрядов в строки
- 6. Vector push_back Массив парных разрядов
- 7. Сортировка парных разрядов в java
- 8. У плавающих, парных и длинных парных разрядов гарантированная минимальная точность?
- 9. Использование формата String для парных разрядов
- 10. printf поведение округления для парных разрядов
- 11. Странное поведение с использованием парных разрядов
- 12. поиск через короткий отсортированный массив парных разрядов
- 13. Чтение 2 столбцов парных разрядов в Java
- 14. Вещание и получение дополнительных парных разрядов
- 15. Добавление и разделение парных разрядов в Java
- 16. Сравнение поплавков и парных разрядов в Java
- 17. Как использовать BigDecimals без использования парных разрядов
- 18. Надлежащая нотация с использованием парных разрядов
- 19. поиск парных разрядов с регулярными выражениями
- 20. Чтение двоичного файла парных разрядов в искре производит неправильный вывод
- 21. Назначение ввода текстового файла в массив парных разрядов
- 22. Swift debugger, не показывающий список парных разрядов для Xcode7
- 23. Java, Сортировка Массив парных разрядов и его индексы
- 24. Альтернатива утверждению if else при использовании парных разрядов
- 25. Linq подкатегории, где коллекция представляет собой список парных разрядов
- 26. Копирование массива парных разрядов, а затем возврат указателя к основанию
- 27. Как использовать массив парных разрядов как вектор функций в Mallet
- 28. Реверсирование списка цветов и парных разрядов перед их использованием
- 29. Различные результаты при добавлении одинаковых парных разрядов в другом порядке
- 30. Как суммировать массив парных разрядов с воспламененной сетью данных/sql?
Можете ли вы опубликовать код, который вы пробовали? –
Пожалуйста, разместите свой код, как будто это не проблема кастинга, но проблема с инициализацией I для меня – carloabelli
import javax.swing.JOptionPane; общественный класс EnergyDrink { public static void main (String [] args) { String amountOfPeople; двойной суммаOfPeopleFinal; double percentWhoPurchaseEnergyDrinks = .14; double PercentageWhoPreferCitrusDrink = .64; двойной энергииDrinkers; двойные цитрусовыеИнтерьерДрикеры; int energyDrinkersFinal = (int) energyDrinkers; int citrusEnergyDrinkersFinal = (int) citrusEnergyDrinkers; amountOfPeople = JOptionPane.showInputDialog («Сколько людей было опрошено?»); количествоOfPeopleFinal = Double.parseDouble (количествоOfPeople); –