首页 > 代码库 > 课堂测试——数据位数、位数输出、各位数上数据求和
课堂测试——数据位数、位数输出、各位数上数据求和
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); } }
运算结果:
课堂测试——数据位数、位数输出、各位数上数据求和
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。