forte74 Ответов: 1

Сумма всех нечетных цифр в числе с java


Я пытаюсь написать программу, которая вычисляет сумму всех нечетных цифр в числе с помощью java. По какой-то причине я получаю ошибку преобразования формата:



на линии:
System.out.printf("Sum of %s's odd digits: %f", number, odd_digits_sum);   



Sum of Exception in thread "main" 0's odd digits: java.util.IllegalFormatConversionException: f != java.lang.Integer
	at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
	at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)
	at java.util.Formatter$FormatSpecifier.print(Unknown Source)
	at java.util.Formatter.format(Unknown Source)
	at java.io.PrintStream.format(Unknown Source)
	at java.io.PrintStream.printf(Unknown Source)
	at practicebook.sum1.main(sum1.java:86)




import java.util.Scanner;

public class sum1 {

	
	 public static void main(String[] args) {
		 
		 Scanner input = new Scanner(System.in);
		 
		
			System.out.print("Number: ");
			int number = input.nextInt();
			input.close();
			int odd_digits_sum = 0;
			while (number > 0) {
			    int digit = number % 10;
			    if (digit % 2 != 0) {
				odd_digits_sum += digit;
			    }
			    number /= 10;
			}
			System.out.printf("Sum of %s's odd digits: %f", number, odd_digits_sum);   
			
			//System.out.printf("number is " + number);
			
			
			
		    }
	
	
}
//end main}
// end class


Что я уже пробовал:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PIEBALDconsult

На какой базе?

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
Сумма исключение в потоке "основной" 0-х нечетных цифр: Ява.утиль.IllegalFormatConversionException: f! = java.lang.Целое число

Ява жалуется, потому что odd_digits_sum является целым числом и %f ожидайте чего-то другого.
Можно догадаться, что если вы посмотрите на документацию printf, вы найдете, как это работает.