题目描述
输入一个自然数n,后面跟n个三位正整数,求每个三位正整数的个位数、十位数和百位数,将它们按要求的格式输出来。
输入描述
一行输入,第一个是自然数n,后面跟n个三位正整数。
输出描述
每个三位整数占独立的一行,先输出这个三位整数,然后依次输出其百位数、十位数和个位数,中间用空格分隔。如果输入的数不是三位整数,则对应的那行输出为”输入错误“
输入样例
3 456 790 2100
输出样例
456 4 5 6
790 7 9 0
输入错误
原理是这样用%和/就可以计算个位数、十位数和百位数,我也是新手这写的应该符合题目
public class Test{
public static void main(String[] args) {
int num; //用于保存用户输入的正整数
int bit; //用于保存个位数
int tens;//用于保存十位数
int Hundreds;//用于保存百位数
/*
*用户输入不规范提示错误并重新输入,正确则输出
*/
while (true) { //利用while死循环获得多次输入机会
//通过Scanner获得一个正整数并用num来保存它
Scanner scanner = new Scanner(System.in);
//提醒用户输入整数
System.out.println("请输入三位整数:");
// 得到用户输入整数
num = scanner.nextInt();
//转换数据类型便于判断长度
String newNum = String.valueOf(num);
//判断输入整数长度是否为3
if (newNum.length() != 3) {
System.out.println("输入错误!请输入一个三位正整数\n");
}
else { //输入正确则输出,并结束循环
bit = num % 10; // 模10得到个位
tens = num / 10 % 10; //除10得到百位和十位 模10得到十位
Hundreds = num / 100;//除100得到百位
System.out.println(num + "\t" + Hundreds + " " + tens + " " + bit);
break;
}
}
}
}