给出一个不多于5位的正整数,要求如下:

(1)求出该数是几位数。

(2)分别打印出每一位数字。

(3)按照逆序打印出各位数值。

按照以上要求,首先得用户从键盘输入一个不多于5位的正整数,可以用System.out.println()在控制台输出数据以提示用户:System.out.println("请输入一个不多于5位数的正整数:");

Java在涉及到输入时比较谨慎,因为它要求进行异常处理,也就是涉及输入的代码得用try括起来。获取从键盘输入的东西有一个比较固定的方法:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String example1= br.readLine();显然这个example1里面存储的就是用户从键盘输入的内容了。

第一个要求是求出该数是几位数,这好办,Java有现成的length()方法可以调用,前提是调用这个方法的对象得是String类型,example1正好满足,即int length=example1.length();之后,这个length就是该数的位数了。

分别打印出每一位数字,凡涉及到“每”、“各”之类的,基本上都要用到循环。譬如说此处,因为已经得到了该数的位数也就是循环的次数length,就可以用for,即for (int i = 0; i <= length-1; i++) {输出第i位数字;}。Java提供的charAt()方法用来获取字符串某一位的字符,即example1.charAt(i)就是下标为i的字符,辣么要输出该位就是System.out.println(example1.charAt(i));因为下标都是从0开始的,所以这里顺序时下标的起始分别是0和length-1。

第三个要求和第二个要求大同小异,唯一的区别是要求(2)输出时下标是从0到length-1,要求(3)输出时下表是从length-1到0,即 for (int i = length - 1; i >= 0; i--)。

完整代码如下:

import java.io.*;
public class Practice2 {
public static void main(String[] args) {
System.out.println("请输入一个不多于5位数的正整数:");
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String example1= br.readLine();
int length=example1.length();
System.out.println("该数是"+length+"位数");
System.out.println("它的各位数分别为:");
for (int i = 0; i < length; i++) {
System.out.println(example1.charAt(i));
}
System.out.println("它的各位数逆序分别为:");
for (int i = length - 1; i >= 0; i--) {
System.out.print(example1.charAt(i) + " ");
}
}
catch(Exception e)
{ }
}
}

效果如图:

Java数字处理的更多相关文章

  1. 学习笔记——Java数字处理类

    1.数字格式化 使用Java.text.DecimalFormat格式化数字,一般使用其中的DecimalFormat类.如: import java.text.DecimalFormat; publ ...

  2. 初识Java(Java数字处理类-大数字运算)

    一.大数字运算 在 Java 中提供了大数字的操作类,即 java.math.BigInteger 类与  java.math.BigDecimal 类.这两个类用于高精度计算,体重 BigInteg ...

  3. [java初探10]__关于数字处理类

    前言 在我们的日常开发过程中,我们会经常性的使用到数字类型的数据,同时,也会有众多的对数字处理的需求,针对这个方面的问题,在JAVA语言中.提供解决方法的类就是数字处理类 java中的数字处理类包括: ...

  4. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  5. Java之数字处理类浅析

    包装类: 数据类型相对的包装类:byte---Byteshort---Shortint---Integerlong---Long float---Floatdouble---Double boolea ...

  6. Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  7. Java常用类库API之数字处理工具类

    数字处理工具类BigDecimal和DecimalFormat Java提供的java.text.DecimalFormat类,帮助我们用最快的速度将数据格式化为我们想要的样子.例如,取两位小数 im ...

  8. java复习(4)---数字处理类

    java本身自带一些封装好的类方便数字问题的处理,review下方便以后使用 DecimalFormat类 可格式化数字格式,控制输出格式 Math类 提供三角函数.指数函数.取整函数.最大最小函数. ...

  9. AJPFX总结java开发常用类(包装,数字处理集合等)(一)

    一:首谈java中的包装类 Java为基本类型提供包装类,这使得任何接受对象的操作也可以用来操作基本类型,直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类.jav ...

随机推荐

  1. Codeforces 626C Block Towers「贪心」「二分」「数学规律」

    题意: 一堆人用方块盖塔,有n个人每次只能加两块方块,有m个人每次只能加三块方块.要求每个人盖的塔的高度都不一样,保证所用方块数最少,求最高的塔的高度. 0<=n+m  0<=n,m< ...

  2. nyoj 103 A + B problem II

    点击打开链接 A+B Problem II 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 I have a very simple problem for you. G ...

  3. 2015 ACM/ICPC Asia Regional Beijing Online

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You must have seen the very famous movie series,"Mission ...

  4. Sqoop导数据出现的问题

    sqoop导数据卡住在INFO mapreduce.Job: Running job: job_1447835049223_0010 查yarn日志全是: INFO org.apache.hadoop ...

  5. ASP.Net软件工程师基础(四)

    1.接口 (1)接口是一种规范.协议,定义了一组具有各种功能的方法(属性.索引器本质是方法). (2)接口存在的意义:多态.多态的意义:程序可扩展性. (3)接口解决了类的多继承的问题. (4)接口解 ...

  6. 实验比较python中的range和xrange

    1 结论: 全用xrange,除非你需要使用返回的列表 2 实验一:性能对比 实验环境:win7 ,64位系统 python2.7 import time StartTime=time.time() ...

  7. oracle登陆的命令是什么?导出数据表的命令是什么?

    登陆的命令: su - oracle sqlplus / as sysdba 导出数据表的命令: exp user/pwd@SID file=path/sth.dmp tables=(table1,t ...

  8. 2016阿里巴巴校招offer面经

    前段时间参加阿里巴巴校招,非常荣幸,很快就拿到了offer,经历了三轮技术面试和一轮hr面,面试官们都非常nice,在此感谢一下各位面试官,你们辛苦了,百忙之中抽时间面试!为了帮助更多人想进阿里巴巴的 ...

  9. Datable 排序

    if(dt.Columns.IndexOf("name") != -1) //存在这个字段 { dt.DefaultView.Sort = "name asc" ...

  10. UVa11210 中国麻将 Chinese Mahjong-搜索

    https://vjudge.net/problem/UVA-11210 //被水题虐了一上午... #include<iostream> #include<cstdio> # ...