一个N位数的每一位数怎么获取,用JAVA语言编写一下,谢谢大神。。。 10
11个回答
展开全部
题目的要求是获取一串数字中指定位数的数字。
位数:数学中的个、十、百、千、万等
思路:将数字看做一个字符串,利用charAt方法获取。
public static String getNum(long num, int index) {
String s = String.valueOf(num);
String result = String.valueOf(s.charAt(s.length() - index));
System.out.println("数字:" + num + "的第" + index + "位数字是" + result);
return result;
}
由于数学中位数是从右向左的顺序,而程序中的顺序是从左向右的顺序,所以上面代码中做了处理。
运行结果
数字:123456789的第6位数字是4
展开全部
把这个N位数转化为数组就可以获取每一位数了。
追问
能详细一点吗,具体的代码怎么写
追答
public class Test{
public static char[] num(String s){
char[] c = s.toCharArray();
return c;
}
public static void main(String args[]){
char[] s = num("123456789123123");
for(int i = 0;i < s.length; i++){
System.out.println("第" + (i+1) +"位是:" + s[i]);
}
}
}
代码是这样写的,懂了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除了个位数是取余,其余各位均是由这个N位数减去最高位取商得到的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的话就用之前说的转成string,然后用indexAt之类的方法,逐一取出来就行了,不过我觉得这个问题考的是递归/循环之类的。
int a = 98765;
int i=10;
int[] ret;
while(a%i!=a) {
ret.push(a%i);
i = i*10;
}
print(ret);
ret 存储的是从各位开始的每一位数字。这个是JS写的,大概差不多,稍微改改。
int a = 98765;
int i=10;
int[] ret;
while(a%i!=a) {
ret.push(a%i);
i = i*10;
}
print(ret);
ret 存储的是从各位开始的每一位数字。这个是JS写的,大概差不多,稍微改改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以把这个数字转化成字符串,再获取。
例:int a=123456777;
String s=String.valueOf(a);
for(String t:s){
sysout(t);
//可以转化成数字
int b=Interge.parseInt(t);
}
例:int a=123456777;
String s=String.valueOf(a);
for(String t:s){
sysout(t);
//可以转化成数字
int b=Interge.parseInt(t);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询