题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
分析:
(1)利用随机函数产生[1,99999]之间的一个正整数n
(2)将n转换成字符串s,调用字符串的length()方法求得位数
(3)创建一个StringBuffer类对象,将s传入,调用StringBuffer类的reverse()方法直接逆序输出结果
1 import java.util.*; 2 public class Prog24 { 3 public static void main(String[] args) { 4 //产生[1,99999]之间的一个正整数n 5 Random random=new Random(); 6 int n=random.nextInt(99999)+1;//random生成的随机数包头不包尾,所以此处写99999只能产生[0,99999)之间的数,要使得生成[1,99999]的数需要加1 7 System.out.println("产生的随机数是:"+n); 8 String s=String.valueOf(n);//将产生的随机数转换成字符串 9 System.out.println("产生的随机数是:"+s.length()+"位数"); 10 StringBuffer buffer = new StringBuffer(s); 11 System.out.println("逆序打印出来是:"+buffer.reverse()); 12 } 13 } 14 /*运行结果 15 产生的随机数是:54070 16 产生的随机数是:5位数 17 逆序打印出来是:07045 18 */