有如下支出流水账,“书籍 79.6;蔬菜 21.8;水果 16;洗车费 20;”,
其中,一笔支出与另一笔支出之间由‘;’间隔,支出名称与金额之间由空格间隔。编程统计出支出的总金额并输出。
注1:当字符串只由’0’~’9’及’.’等字符构成,则可以使用Float.valueOf(String s)方法将该字符串数据转换为float类型数据,如表达式Float.valueOf(“123.78”),其结果为123.78f。
注2:此题最简单的思路是使用String类的split()方法来进行字符串拆分。支出流水账可能会很长,请使用循环完成总金额的统计。
split()里面可以放多个分隔符的
你把空格和分号都作为分隔符
切出来的数组里偶数位置放的就是名称,奇数位置放的就是值
就这样
String[] a=s.split(' ',';');
String paid = "书籍 79.6;蔬菜 21.8;水果 16;洗车费 20;";
String[] paidStr = paid.split(";");
float money = 0f;
for(int i = 0;i<paidStr.length;i++){
money += Float.valueOf(paidStr[i].split(" ")[1]);
}
System.out.println("支出总金额为:" + money);
如有帮助望采纳
String s="书籍 79.6;蔬菜 21.8;水果 16;洗车费 20;";
String [] arr= s.split(";");
Float total=0F;
for (int i=0;i<arr.length;i++){
String [] money=arr[i].split(" ");
total+=Float.valueOf(money[1]) ;
}
System.out.println(total); //137.4