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 = 0; i < count; i++) {
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));
}
}