带有java的数字中所有奇数位的总和 [英] The sum of all the odd digits in a number with java

查看:86
本文介绍了带有java的数字中所有奇数位的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个程序,用java计算数字中所有奇数位的总和。我得到格式转换错误的一些原因:







行:

 System.out.printf(%s的奇数位之和:%f,数字,odd_digits_sum); 







线程main0的奇数位的异常总和: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(未知来源)
at practicebook.sum1.main(sum1.java:86)




import java.util.Scanner;

公共类sum1 {


public static void main(String [] args){

扫描仪输入=新扫描仪(系统。在);


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(%s的奇数位之和:%f,数字,odd_digits_sum);

//System.out.printf(\"number是+ number;



}


}
//结束主要}
//结束类





我的尝试:



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

解决方案

FormatSpecifier.failConversion(未知来源)
at java.util.Formatter


FormatSpecifier.printFloat(Unknown Source)
at java.util.Formatter


FormatSpecifier .print(未知来源)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf (未知来源)
at practicebook.sum1.main(sum1.java:86)




import java.util.Scanner;

公共类sum1 {


public static void main(String [] args){

扫描仪输入=新扫描仪(系统。在);


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(%s的奇数位之和:%f,数字,odd_digits_sum);

//System.out.printf(\"number是+ number;



}


}
//结束主要}
//结束类





我的尝试:



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


Im tyring to write a program that computes the sum of all the odd digits in a number with java. FOr some reason im getting a format conversion error:



at the line:

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



What I have tried:

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

解决方案

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



What I have tried:

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


这篇关于带有java的数字中所有奇数位的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆