早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用java算出x1y1+x2y2···+xnyn结果像这样输入xy1,234,67623,4x1是1,y1是2x2是34,y2是676x3是23,y3是4x1y1+x2y2···+xnyn=.

题目详情
用java算出x1y1 + x2y2· · · + xnyn
结果像这样
输入x y
1,2
34,676
23,4
x1 是 1,y1 是 2
x2 是 34,y2 是 676
x3 是 23,y3是 4
x1y1 + x2y2· · · + xnyn = .
▼优质解答
答案和解析
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class BDZDTest {

\x05public static void main(String[] args) {
\x05\x05BufferedReader keyin = new BufferedReader(new InputStreamReader(
\x05\x05\x05\x05System.in));
\x05\x05String str;
\x05\x05List numbers = new ArrayList();
\x05\x05System.out.println("请输入运算数字,以空行结束.");
\x05\x05try {
\x05\x05\x05while (!"".equals(str = keyin.readLine())) {
\x05\x05\x05\x05String[] numStrs = str.split(",");
\x05\x05\x05\x05int[] pairs = new int[] { Integer.parseInt(numStrs[0]),
\x05\x05\x05\x05\x05\x05Integer.parseInt(numStrs[1]) };
\x05\x05\x05\x05numbers.add(pairs);
\x05\x05\x05}
\x05\x05} catch (IOException e) {
\x05\x05\x05e.printStackTrace();
\x05\x05} catch (NumberFormatException e) {
\x05\x05\x05System.out.println("输入的数字不符合规范,应该为[数字1,数字2]");
\x05\x05}
\x05\x05System.out.println("计算的表达式为:");
\x05\x05StringBuilder sb = new StringBuilder();
\x05\x05int result = 0;
\x05\x05for (int[] pairs :numbers) {
\x05\x05\x05sb.append(pairs[0]).append("*").append(pairs[1]).append("+");
\x05\x05\x05result += (pairs[0] * pairs[1]);
\x05\x05}
\x05\x05if (sb.length() > 0) {
\x05\x05\x05sb.deleteCharAt(sb.length() - 1);
\x05\x05\x05System.out.print(sb.append(" = ").append(result).toString());
\x05\x05}
\x05}

}

执行结果:


请输入运算数字,以空行结束.
12,34
56,78
90,12
计算的表达式为:
12*34+56*78+90*12 = 5856