lucifer


私信TA

用户名:13379476814

访问量:14105

签 名:

等  级
排  名 3092
经  验 1957
参赛次数 0
文章发表 22
年  龄 20
在职情况 学生
学  校 西北工业大学明德学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

//將文本保存在com文件夾下的cx子文件夾中

package com.cx;


//引入java文件夾下util子文件中Scanner類

import java.util.Scanner;


    public class NumberQuestion {


        public static void main(String[] args) {

        // 创建Scanner的對象

        Scanner sc = new Scanner(System.in);

        // sc就可以直接使用对象方法nextInt从控制台接受一个int值

        int a = sc.nextInt();

        // 直接调用Method方法

        Method1(a);

    }


    // method就是解决3个问题的方法

    public static void Method1(int a) {

    //第一个循环求得是数字的位数,n是累加器,刚开始将a赋值给b,用b计算。

    //如果不赋值,直接用a计算。a就变成0了,后面的循环里面a就没法用了

            int n = 0;

            int b = a;

            for (int i = 0; b > 1; i++) {

            b = b / 10;

            n++;

            }


            System.out.println(n);

            //定义一个数组,将每个位置上的数字存到数组

            int[] arr = new int[n];

            for (int i = 0; i < n; i++) {

            arr[i] = a % 10;

            a = a / 10;


            }

            //从数组下标最大到下标最小,依次输出

            for (int i = arr.length - 1; i >= 0; i--) {

            System.out.print(arr[i] + "\t");

            }

            //输出回车

            System.out.println();

    //这个是第三个问题的解决,因为每循环都要乘10,求出的结果是想要值得10倍,所以最后除以10

            int c = 0;

            for (int i = 0; i < arr.length; i++) {

            c = c + arr[i];

            c = c * 10;

            }

            c = c / 10;

            System.out.println(c);


    }


}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区