import java.util.Scanner
/*两种思路:
1.对四位数取余10,再将该四位数除以10;
2.将四位数转化为字符串,再将该字符串转化为字符数组
无论哪种思路都需要先对输入的对象进行检查
*/
public class Digit {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in)//读取键盘输入
Operation opera=new Operation()
System.out.print("请输入一个四位数 : ")
int num=opera.checkNum(scan)
int[] number=opera.getNum(num)//针对第一种思路
char[] numbers=opera.getNumber(num)//针对第二种思路
String[] digitCN={"个","十","百","千"}
for(int i=0i<digitCN.lengthi++){
System.out.println(digitCN[3-i]+"位为:"+number[3-i]+"('"+numbers[i]+"')")
}
}
}
class Operation{
public int checkNum(Scanner scan){
int num=0
try {
num=Integer.parseInt(scan.next())
} catch (Exception e) {
//输入的不是数字,此时程序继续向下执行,num此时为0
}
/*超过四位或者是负数
只要上面两种情况其中一种发生都要重新输入*/
if(num<=0||num>9999){
System.out.print("请输入正确的四位整数:")
num=checkNum(scan)
}
return num
}
/*采用第一种思路*/
public int[] getNum(int num){
int[] number=new int[4]
for(int i=0i<4i++){
number[i]=num%10
num/=10
}
return number
}
/*采用第二种思路*/
public char[] getNumber(int num){
String number=num+""
char[] numbers =number.trim().toCharArray()
return numbers
}
}