课堂测试——数据位数位数输出各位数上数据求和

Posted -相勖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课堂测试——数据位数位数输出各位数上数据求和相关的知识,希望对你有一定的参考价值。

2016.10.18Java课堂测试

在课堂上写的时候,写到各位书身上数据输出时、因为处理不好取最高位的步骤所以不能继续进行编程。

经过后期查找之后:

引用import static java.lang.Math.*;

  求x的y次方运算,Math.pow(x,y);

  求整数部分,Math.floor();//这里运行之后发现是double类型所以又用了强制转换。

将Int转换为Double类型,int number1=(int) number2;

另外的问题就是:

因为数据上存在多次变化使用,所以我将数据赋予一个新的变量,自觉很烦,不喜欢。

//陶雨洁 课堂测试 位数 20153152
package tyj;
import java.util.Scanner;
import static java.lang.Math.*;
public class Tyj20153152 {
public static void main(String[] args){
    System.out.println("输入任意整数");

    Scanner sc=new Scanner(System.in);
      int a=sc.nextInt();
      System.out.println("位数"+pdWS(a));//位数输出
      qS(a);//取数
      qH(a);//位数上数据求和
}

public static int pdWS(int a){
    int j=1;//位数计数
    for(;a/10!=0;a=a/10){
          j++;
      }
    return j;
}

public static void qS(int a){
    int b=a;//a用作计量位数
    int j=1;//位数计数
    for(;a/10!=0;a=a/10){
          j++;
      }
    int c=j;//j用作记录循环次数
    for(int n=0;n<j;n++){
        int m=(int)Math.floor( b/Math.pow(10,c-1));
        System.out.println(m);//Math.pow是10的j次方运算
        b=(int) (b-m*Math.pow(10,c-1));
        c--;
    }
}


public static void qH(int a){
    int b=a;//a用作计量位数
    int j=1;//位数计数
    int sum=0;//求和嘛
    for(;a/10!=0;a=a/10){
          j++;
      }
    int c=j;//j用作记录循环次数
    for(int n=0;n<j;n++){
        int m=(int)Math.floor( b/Math.pow(10,c-1));
        sum=sum+m;
        b=(int) (b-m*Math.pow(10,c-1));
        c--;
    }
    System.out.println("输出数据每位数上的和为"+sum);
}



}

运算结果:

以上是关于课堂测试——数据位数位数输出各位数上数据求和的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 258. 各位相加

纪念纪念随笔数上3位数

找中位数

编写程序:从键盘上接受一个三位数(首先要确保是三位数),计算出各位之和输出。

给出一个5位数,按逆序输出它的各位数字。如:输入12345,输出54321.

水仙花数c语言