7-1 sdut-String-5 图书价格汇总(II) (15 分)
假设图书馆中图书信息的格式为:
Java程序设计: 34;Web程序设计: 56;JSP程序设计:20
按要求输出每本图书的名称及价格,计算所有图书的总价格并输出。
输入格式:
读入一行图书信息。如:
Java程序设计: 34;Web程序设计: 56;JSP程序设计:20
提示:
(1)每本书的价格是整数,价格与下一本书的名字之间有一个中文;价格前可能有空格,可能没有。
(2)题目中的分号”;
“和冒号”:
“为全角字符。
输出格式:
分别输出每本图书的名称及价格,一本书占一行,形式为:书名–价格;
最后,输出计算的所有图书的总价格,形式为:总价格–总价格
输入样例:
Java程序设计:34 ;Web程序设计: 56;JSP程序设计:20
输出样例:
Java程序设计--34
Web程序设计--56
JSP程序设计--20
总价格--110
代码
代码仅供参考:PTA平台判定部分正确
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
str = str.replace(" ", "");
int sum = 0;
int price = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == ':') {
System.out.print("--");
price = 0;
} else if (str.charAt(i) == ';') {
System.out.println();
sum += price;
price = 0;
} else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
price = price * 10 + (str.charAt(i) - '0');
System.out.print(str.charAt(i));
} else {
System.out.print(str.charAt(i));
}
}
sum += price;
System.out.println("\n总价格--" + sum);
scan.close();
}
}