假设图书馆中图书信息的格式为:
Java程序设计: 34;Web程序设计: 56;JSP程序设计:20
按要求输出每本图书的名称及价格,计算所有图书的总价格并输出。
输入格式:
读入一行图书信息。如:
Java程序设计: 34;Web程序设计: 56;JSP程序设计:20
提示:每本书的价格是整数,价格与下一本书的名字之间有一个中文;价格前可能有空格,可能没有。
输出格式:
分别输出每本图书的名称及价格,一本书占一行,形式为:书名–价格;
最后,输出计算的所有图书的总价格,形式为:总价格–总价格
输入样例:
Java程序设计:34 ;Web程序设计: 56;JSP程序设计:20
输出样例:
Java程序设计--34
Web程序设计--56
JSP程序设计--20
总价格--110
放凉了:
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
String st = sc.nextLine();//先整行读入st
String[] str = st.split(";");//再以“;”分割
int n = str.length;//一开始就是因为把str错写成了st,失之毫厘,谬以千里
int sum = 0;//用sum记录图书的总价
for (int i = 0; i < n; i++) {
String[] str1 = str[i].split(":");//再以“:”分割,分成两部分,而后部分是带有空格的数字字符串
// 以下删除空格部分
String price = str1[1];
char[] c = price.toCharArray();
price = "";
for (int j = 0; j < c.length; j++) {
if (c[j] != ' ') {
price += c[j];
}
}//删除空格部分
System.out.println(str1[0] + "--" + price);
sum += Integer.parseInt(price);//字符串化为整数
}
System.out.println("总价格--" + sum);//完事
}
}
一开始就是因为把str少写了个r,果然失之毫厘,谬以千里