java逆序输出输入的数字

问题描述

给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

问题分析

1.判断是否是五位数且输入为正整数

2.需要逆序输出

问题解决:

需要用到For 循环循环遍历。需要将输入的数存入数组,将数组的元素,逆序输出为字符。

注意:由于number为int类型,输入为其它类型将会报错,此实验在这不做判断。

         使用if(number>99999||number<0)来确定输入的数字为正整数。且int类型下00001=1.因此不用判断数字前输入0是否正确。例如以下运行结果:

请输入一个不多于5位的正整数
000000004
这是一个1位数

4

import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.println("请输入一个不多于5位的正整数");
	int number=sc.nextInt();
	if(number>99999||number<0)
	{
		System.out.println("请输入正确的格式");
	}
	else
	{  String str=""+number;//将输入的int型转化为String类型
	  char []num=str.toCharArray();//使用toCharArray方法将String类型转化为数组。
	  int long1=str.length();//获取数组长度得到数字为几位数
	  String num1="";//定义一个空字符串
	  for(int i=long1-1;i>=0;i--)
	  {
		 num1=num1+num[i];//使用空字符串将数组进行拼接为字符
	  }
	  System.out.println("这是一个"+long1+"位数");
	  System.out.println(num1);	 	  
	}
}
}

猜你喜欢

转载自blog.csdn.net/HY845638534/article/details/83958118