600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【Java习题程序】将int整数转化为int数组 不用转String。

【Java习题程序】将int整数转化为int数组 不用转String。

时间:2023-07-03 04:55:31

相关推荐

【Java习题程序】将int整数转化为int数组 不用转String。

键盘输入整数,得到整形数组,正序,逆序

public class Main{public static void emm(){ Scanner sc = new Scanner(System.in);int q = sc.nextInt();int temp = q;//输入的整数int wei = 0;//几位数//算出位数while(temp!=0){temp = temp/10;wei++;}//输出结果//位数System.out.println("位数:"+wei);//顺序输出get(q,wei);System.out.println();//逆序输出back(q,wei);}//顺序输出的方法public static void get(int num,int wei){int tmp = num;//创建一个和整数位数相同大小的数组int[] element = new int[wei];System.out.print("分别是:");for(int i = wei;i>0;i--){//从高位到低位依次取数字int m1 = (new Double(Math.pow(10,i-1))).intValue();tmp = (num/m1)%10;System.out.print(tmp+" ");}}//逆序输出的方法public static void back(int num,int wei) {Double tmp = Double.valueOf(num);//创建一个和整数位数相同大小的数组int[] element = new int[wei];System.out.print("逆序是:");//获取逆序存入数组element中for(int i = 1;i<=wei;i++){//从低位到高位依次取数字tmp = (num%Math.pow(10,i))/Math.pow(10,i-1);int m1 = (new Double(tmp)).intValue();System.out.print(m1+" ");}}public static void main(String[] args) {//sushu();//sushu100();sum();//shui();//emm();//fen();} }

运行结果:

关键的是这两句:

正序:

34567

1…34567 / 10^5 = 3 , 3 % 10 =3

2…34567 / 10^4 = 34, 34 %10 =4

以此类推

tmp = (num/ (new Double(Math.pow(10,i-1))).intValue(); )%10;

最后得到3 4 5 6 7存入数组

逆序:

1…34567 % 10^1 =7 , 7 / 10^0 = 7

2…34567 % 10^2 =67, 67 / 10^1 = 6

以此类推

tmp = (num%Math.pow(10,i))/Math.pow(10,i-1);

最后得到7 6 5 4 3存入数组

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。