java实现:将一个数各个位数相加

前面已经实现过这个程序,现在我们就不多说了,直接更改C的源码,实现这个JAVA程序。

import java.util.Scanner;
public class HelloWorld {
	public static void main(String[] args)
	{
		//System.out.println("Hello java");
		Scanner s = new Scanner(System.in);
		System.out.println("请输入一个数字");
		int num = s.nextInt();
		int sum = 0 ;
		while(num != 0)
		{
			sum += num % 10 ;
			num /= 10 ;
		}
		System.out.println("sum:"+sum);
	}
}

如果题目变一下,从10到1000该数的位数相加和为5则输出就可以改成下面这样:

import java.util.Scanner;
public class HelloWorld {
	public static void main(String[] args)
	{
		int count = 0 ;
		for(int i = 10 ; i < 1000 ; i++){
			int sum = 0 ;
			int t = i ;
			while(t != 0)
			{
				sum += t % 10 ;
				t /= 10 ;
			}
			if(sum == 5){
				count++;
				System.out.println(i+" ");
				if(count % 5 == 0) System.out.println();
			}

		}
	}
}
时间: 2024-09-29 09:35:16

java实现:将一个数各个位数相加的相关文章

java实现:将一个数逆序输出

前面我们用C语言实现过这个程序,其实java也一样的,很多步骤跟C差不多,但是有些接口和特性可能不同: import java.util.Scanner;//要使用scanner这个类,就需要导入一个输入接口相关的包 public class HelloWorld { public static void main(String[] args) { //System.out.println("Hello java"); Scanner s = new Scanner(System.in

java求1至19这些自然数数中,所有相加为20的组合

使用Stack来完成: 代码如下: package ca.map; import java.util.Stack; public class Sum1_19eq20 { //算法: 求1至19这些自然数数中,所有相加为20的组合 public static void main(String[] args) { combinateDataOfRange(1, 19, 20); } public static void combinateDataOfRange(int min,int max,int

c-判断32位数相加溢出问题?

问题描述 判断32位数相加溢出问题? 编写了一个程序,两个有符号的32位数相加如果正溢出,则输出 2147483647:如果负溢出,则输出(-2147483647-1):如果不溢出,则输出 运算结果.然后试了几个数,并不能理解输出的结果,请一一指出每条运算结果的解释,谢谢. 解决方案 首先要看你的程序里面整数类型是int还是unsigned int他们两个的范围不同, int 的取值范围是 -2147483648 ~ +2147483647, 而unsigned int 的取值范围是0 ~ 42

算法 数据结构 图论-问一个算法问题,将一个数变为另一个数的最少步骤

问题描述 问一个算法问题,将一个数变为另一个数的最少步骤 "上上下下左右左右 BABA"中,上用↑表示,下用↓表示,左用←表示,右用→表示,A, B.先定义一个输入区,模拟 6 位数的输入,输入区有六个位置为(从左到右)第 1 位,第 2 位,第 3 位,第 4 位,第 5 位,第 6 位.有一个指针指向当前操作位置,称其为指针,手 柄上的六个按键分别执行以下操作: ↑:按↑,指针所指向的位置不变,将指针指向位置的数字加 1 (除非它是 9).例如,如果 指针指向的数字为 6,按↑之后

用C语言将一个数开根号后再取倒数的方法

在上学的时候,曾经看过有人写过这样的算法,就是将一个数开根号后再取倒数的算法,我本人也觉得十分巧妙,于是就将它积累了下来,让我们来看看是怎么回事: #include <stdio.h> #include <stdlib.h> float mysqrt(float x) { float xhalf = 0.5f * x; int i = *(int *)&x; i = 0x5f3759df - (i>>1); x = *(float *)&i; x = x

java c-如何用C语言或者JAVA实现字长为八位数的二进制定点数转换为源码反码补码?

问题描述 如何用C语言或者JAVA实现字长为八位数的二进制定点数转换为源码反码补码? 老师要求的简单作业,但我是大二才转的计算机科学与技术专业,基础几乎为0!哪位能帮写一个,最好能有注释,这可能有点麻烦,没注释的也可以,我有了源代码可以自己琢磨琢磨!跪谢了在此!

java long float 精度-java的long类型与float相加出错问题

问题描述 java的long类型与float相加出错问题 public class CodeFour { public static void main(String[] args) { long a=300000000L; float b=1.23f; long c=123; b=a+b+c; System.out.println(b); } } 代码如上 打印结果为3.00000128E8,甚为不解,为什么是128,而不是124,求高手指教

(java)将一个系统的动态网页信息转另一个系统

问题描述 (java)将一个系统的动态网页信息转另一个系统 一个内网的系统和一个外网的系统,需要把内网系统的网页信息转到外网的系统. 例如:内网的url为xxx,在外网点击某个链接后显示xxx的内容. 有什么办法可以实现吗? 问题补充: 服务端是内外网都可以访问的 解决方案 ngnix 做反向代理,也可以你服务器用webclient从内网系统下载网页再传回客户端.

java 递归 树形结构-跪求∶用JAVA递归写数形结构,每级只需要一个树枝节点,无限递归,谢谢

问题描述 跪求∶用JAVA递归写数形结构,每级只需要一个树枝节点,无限递归,谢谢 用JAVA递归写数形结构,每级只需要一个树枝节点,无限递归,谢谢 解决方案 伪代码:void printNode(Node node){ for (Node cn in node.childNodes()) { printfNode(cn); } println(node.data);}