刚学到循环和方法的封装以及数组。看到一个题目是输出一个数的各个位上的数字,例如一个数是12345,输出1,2,3,4,5。
我用的方法是先用循环求出这个数是几位数,例如5位数,先用10000去取整,得到1,然后12345-1000得到2345,再用1000取整,得到2,然后2345-2000得到345,以此类推,都是用取整的方法来求最高位,然后再减掉最高位,继续求剩下的数的最高位,直到剩下的数为1位数就结束。但是感觉这个方法好蠢啊,很简单的一个要求我却得用好多行代码。
请教大家这种题目是有什么更简单直接的方法吗?我在网上有搜索到说可以把整数转为字符串,这个还没有学到,如果抛开转换类型这种方法和我上面写的我自己的冗长的方法,还有别的解题思路吗?
谢谢大家啦!
------解决思路----------------------
int n=123456789;
String s = ""+n;
for(int i=0;i<s.length();i++){
System.out.print(s.charAt(i)+" ");
}
------解决思路----------------------
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
String input=sc.next();
for(int i=0;i<input.length();i++){
System.out.println(input.charAt(i));
}
}
------解决思路----------------------
s.charAt(i); s表示字符串,i表示s字符串的下标(从0到length-1),s.charAt(i)表示s字符串的第i个字节,
即s.charAt(0)=1; s.charAt(1)=2;
------解决思路----------------------
第一想法就是转String,在用charat循环输出..