java 分解整数 【个 十 百】(数组案例)
求一个数两位数的个位数,十位数,百位数及千位:
int num = 53;
int g = (num / 1) % 10; //个位
int s = (num / 10) % 10; //十位
int b = (num / 100) % 10; //百位
int b = (num / 1000) % 10; //千位
| 你会发现,这是有规律的,求哪一位就用这个数除以位的值,然后再对10进行求余。如果不求余那就会出现高位的数,例如,如果不对百位求余,当你输入一个四位数(3456),结果就会:3,34 , 5 , 6 |
下面是用java写的一个一般般的 拆分整数的案例 值得大伙研究研究,趣味无穷哦
import java.util.Scanner; //导入输入库
class numbers
{
public static void main(String[] args)
{
//最多输入十亿位
//创建一个数组,遍历输出相应的位数
String[] str = new String[]{"十位","百位","千位","万位","十万位","百万位","千万位","亿位","十亿位","百亿位","千亿位"}; System.out.println("请输入一个数字:");
Scanner sca = new Scanner(System.in); //接受用户输入的数
long sum = sca.nextInt(); //声明一个长整型变量
long sum2 = sum; //分开判断正 负数
int a = 0; for (int i = 0 ; i<32 ;i++ )
{
//判断用户输入的数是几位数
if(sum/10 > 0){ //个位数大于0,为正数
sum = sum/10;
a++;
}else{
break;
}
} if (sum2 < 10) //如果是负数
{
long k = sum;
System.out.println("这个数只有个位是"+k);// }else{
//把用户输入的数是分解出来
for (int i = 0 ;i <= a ;i++ )
{
if (i==0)
{
long c = sum2 % 10; //个位数
System.out.println("这个数的个位是:"+c); }else if(i < a){
//这里要强转一下 这个函数出来的double;
long new1 = (long)Math.pow(10,i); //参数说明:m为要求方的数,n为次方数
long b = sum2 / new1 % 10;
System.out.println("这个数的"+str[i-1]+"是:"+b); }else{
long new2= (long)Math.pow(10,i);
long h = sum2 / new2 % 10;
System.out.println("这个数的"+str[i-1]+"是:"+h);
}
} } }
}
陌陌说:编程语言之间多少都是有相通的,万变不离其宗,java本是继承于c,c++,oc等语言,所以根本原理是不变的。
java 分解整数 【个 十 百】(数组案例)的更多相关文章
- Java编程思想学习(十二) 数组和容器
一.数组 1).数组的多种初始化方式 下面总结了初始化数组的多种方式,以及如何对指向数组的引用赋值,使其指向另一个数组对象.值得注意的是:对象数组和普通数组的各种操作基本上都是一样的:要说有什么不同的 ...
- java 分解整数 【个 十 百 千】,获得个位、十位、百位数字
求一个数数的个位数,十位数,百位数及千位: int num = 53; int g = (num / 1) % 10; //个位 int s = (num / 10) % 10; //十位 int ...
- Java基础笔记(十)—— 数组
数组是具有相同类型的数据的集合,是一种引用数据类型,一般具有固定的长度,并且在内存中占据连续的空间. 数组声明:数据类型[ ] 数组名; 数据类型 数组名[ ]; 如:int[ ...
- java 基本语法(十) 数组(三) 二维数组
1.如何理解二维数组? 数组属于引用数据类型数组的元素也可以是引用数据类型一个一维数组A的元素如果还是一个一维数组类型的,则,此数组A称为二维数组. 2.二维数组的声明与初始化 正确的方式: int[ ...
- Java开发学习(四十)----MyBatisPlus入门案例与简介
一.入门案例 MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发.提供效率. SpringBoot它能快速构建Spring开发环境用以整合其他技术,使用起来 ...
- JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据 ...
- Java基础四(switch、数组、)
1.流程控制语句switch2.数组3.随机点名器案例 ###01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码. ...
- 2016-2017-20155329 《Java程序设计》第十周学习总结
学号 2016-2017-20155329 <Java程序设计>第十周学习总结 教材学习内容总结 学习目标 了解计算机网络基础 OSI分层(7层):物理层.数据链路层.网络层.传输层.会话 ...
- JavaScipt30(第十八个案例)(主要知识点:Array.prototype.map)
承接上文,这是第十八个案例,中间的十到十八我直接看了答案,因为有些例子从他打开的页面看不出他要做什么. 附上项目链接: https://github.com/wesbos/JavaScript30 这 ...
随机推荐
- 创建Django项目(六)——模板
2013-08-07 22:42:30| 1.设置模板路径 打开 settings.py 文件,修改 TEMPLATE_DIRS 内容,指向模板存放的绝对路径,而不 ...
- JVM(一):源文件的转变
JVM(一):源文件的转变 本文讲述一个.java源文件是如何经过javac编译器的一系列操作变为.class文件的. 编译 说到编译,大家都能想到是编译器经过一系列方法将源代码转变为目标机器代码,但 ...
- c++学习 - int 和 string 的相互转换
在C++中会碰到int和string类型转换的. string -> int 首先我们先看两个函数: atoi 这个函数是把char * 转换成int的.应该是属于标准库函数.在想把string ...
- linux网络结构体
一 链路层: (1)局域网(以太网ethernet): *struct eth_header:以太网头部. (ethernet/eth.c) *struct net_device:每一个网络设备都用这 ...
- [Java] 实验5參考代码
实验4月3日晚截止,实验截止后将在此给出完整的參考代码. 1. 怎样使用以下的代码模板: 1.1 在eclipse中创建相应名称的类 1.2 将代码拷贝到类文件中 1.3 在//todo凝视中 ...
- Node后台使用mysql并开启事务
如题:node后台使用mysql数据库,并使用事务来管理数据库操作. 这里主要讲一个事务的封装并写了一个INSERT 插入操作. code: 基础code: db.config.js const my ...
- c# Winform上传文件
http://blog.csdn.net/shihuan10430049/article/details/3734398这个代码有点问题 http://blogs.msdn.com/b/johan/a ...
- 【bzoj1034】[ZJOI2008]泡泡堂BNB
贪心 将双方的选手均按从强到弱排序,然后第一次扫描尽可能用当前剩下的选手中能赢对手当前最强选手中最弱的一个去赢得胜利,若无法做到,则暂时不考虑给对方最强的选手匹配对手.第二遍扫描使用同样策略去获取尽量 ...
- DNNClassifier 深度神经网络 分类器
An Example of a DNNClassifier for the Iris dataset. models/premade_estimator.py at master · tensorfl ...
- 8-13 canvas专题-阶段练习二(下)
8-13 canvas专题-阶段练习二(下) <!DOCTYPE html> <html lang="zh-cn"> <head> <me ...