package cn.campsg.java.experiment
import java.util.Scanner
public class MainClass{
public static int sum(String numberStr){
int sum = 0,count=0,num[]=new int[1000]
try {//如果输入的字符串不满足要求,使用Integer.parseInt(会出现异常(程序运行错误),故使用try...catch...
String temp[]=numberStr.split("")
for (String dt : temp) {
num[count] = Integer.parseInt(dt) //将数字提取出来,并存放在一个整数数组中
count++
}
for (int i = 0i <counti++) {
sum+=Math.abs(num[i])%10//直接使用绝对值,假如输入的是负数,就变成正数
}
} catch (Exception e) {
//如果强转失败,则会出现此提示(不是数字+英文分号这种格式)包括超过数组最大容量
sum=-1 //输入的字符串不满足条件时,返回-1
System.out.println("你输入的字符串不正确,或输入的数字超过数组最大容量!")
}
return sum
}
public static void main(String[] args) {
System.out.println("请输入一行数组,用分号(英文)隔开:")
String str = new Scanner(System.in).next()
if (sum(str)!=-1) { //只输出正确的数组
System.out.println("原字符数列:"+str)
System.out.println("数列个位数字求和结果:"+sum(str))
}
}
个位数=1831%10十位数=183%10
百位数=18%10
千位数=1%10
int i
i = System.in.read()//实际上要捕获异常
int units,tens,hundreds,thousands
units = i%10
tens = (i/10)%10
hundreads = (i/100)%10
thousands =(1/1000)%10
然后再用System.out.print()函数输出结果就好