设计思想:
先建立一个基础的类包,抛出异常处理机制,我上网找了一下输入输出机制的博文最后采用了Scanner输入的方法简化了程序的代码(注: Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器)
我从控制台读取了字符串格式的数字,然后对字符串的个数进行判断,决定循环的次数, 在循环里进行字符串到数字的转化,在直接把数字相加得到结果。
源程序代码:
import java.io.*;
import java.util.Scanner;
public class GetSum {
public static void main(String[] args)throws IOException /*抛出异常处理*/{
// TODO Auto-generated method stub
System.out.println("请输入多个数");//输出要求
Scanner scanner= new Scanner(System.in);//扫描控制台输入
String input = scanner.nextLine(); //从扫描台读取数据
input = input.trim();
String[] temp = input.split(" ");
double[] nums = new double[temp.length]; //得到输入数据的长度
double result = 0; //定义一个数来盛放数据
System.out.println("算式为:" ); //输出
for (int i = 0; i < temp.length; i++) {
nums[i] = Double.parseDouble(temp[i]);
if(i==0)
System.out.print(nums[i]);
else if(nums[i]>0)
System.out.print("+" + nums[i]);
else if(nums[i]<0)
System.out.print(nums[i]);
else System.out.print("+" + nums[i]);
result += nums[i];
}
System.out.print("=" + result);
}
}