文件中例如1饭钱1000 2房租2000 这样的数据怎么把后面的花费相加输出?
来源:互联网 发布:网络ip与本地ip 编辑:程序博客网 时间:2024/04/30 12:26
文件内容:
1饭钱10002房租20003请客5004修车7005买礼物6006在58同城会员注册19910熬夜写代码5012朋友结婚礼钱100023American电影160191路上913公交丢钱200
package com.briup.exam;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {Record rd = new Record();BufferedReader br = new BufferedReader(new FileReader("4.txt"));String s;while ((s = br.readLine()) != null) {char[] arr = s.toCharArray();int len = arr.length;int startInfo = loopNumber(arr, rd);int endInfo= loopMoney(arr, len, rd);loopWhere(arr, startInfo, endInfo, rd);System.out.println(rd.toString());}rd.print();br.close();}//循环取出【消费序列号】字段数据的方法public static int loopNumber(char[] arr,Record rd){String number = "";int index = 0;while(Character.isDigit(arr[index])){number += arr[index];index++;}rd.setPayNumber(Integer.parseInt(number));number = "";return index;}//循环取出【消费去向】字段数据的方法public static void loopWhere(char[] arr,int startInfo,int endInfo,Record rd){String where = "";for(int i=startInfo;i<endInfo;i++){where += arr[i]; }rd.setPayWhere(where);where = "";}//循环取出【消费金额】字段数据的方法public static int loopMoney(char[] arr,int len,Record rd){String money = "";int index = len;while(Character.isDigit(arr[index-1])){money = arr[index-1] + money;index--;}rd.setPayMoney(Integer.parseInt(money));rd.add(Integer.parseInt(money));//System.out.println(rd.add(Integer.parseInt(money)));money = "";return index;}}class Record {private int payNumber;private String payWhere;private int payMoney;private int sum;public Record() {}public Record(int payNumber, String payWhere, int payMoney) {this.payMoney = payMoney;this.payNumber = payNumber;this.payWhere = payWhere;}public int getPayNumber() {return payNumber;}public void setPayNumber(int payNumber) {this.payNumber = payNumber;}public String getPayWhere() {return payWhere;}public void setPayWhere(String payWhere) {this.payWhere = payWhere;}public int getPayMoney() {return payMoney;}public void setPayMoney(int payMoney) {this.payMoney = payMoney;}public int add(int payMoney) {sum += payMoney;return sum;}public void print() {System.out.println("本次消费总额: " + sum);}@Overridepublic String toString() {return payNumber + "." + payWhere + " " + payMoney;}}
阅读全文
1 0
- 文件中例如1饭钱1000 2房租2000 这样的数据怎么把后面的花费相加输出?
- 把一个整数中数位上的偶数相加,奇数加1后累加,然后输出
- 知道SELECT语句怎么把查询到的数据输出到Excel中
- c语言编写,从1到1000中自身的所有的约数相加等于本身的数,例如6=1+2+3
- 怎么把数据集的输出值转换成只含有0,1的标签向量
- 如何把aspx页面中的某个控件输出成html页面(例如把一个页面中的datagrid数据输出成html格式的页面保存)
- 怎么把从mysql数据库中去取出来的数据放到xml文件
- 实时向客户端输出数据(例如1秒输出一行) 要注意的两个问题
- 实时向客户端输出数据(例如1秒输出一行) 要注意的两个问题
- 怎么把excel文件里的数据导入SQL数据库
- 怎么把M文件的数据导入simulink
- thinkPHP,怎么把json文件里面的数据导入数据库
- 如何将逻辑中后面算出的数据提前输出-- 计数的范围素数
- 要求通过java读取文本并把文本中的每一行后面的三个成绩相加, 最后按从大到小的顺序输出到另一个文本文件中.
- java编程:从数组(1,2,4,6,9)中列出所有相加等于20的组合,例如9+9+2=20
- 输出最少花费的祝福值
- 把txt文件的数据导入到mysql中2
- 把txt文件的数据导入到mysql中2
- sublime3写java
- mysql错误代码表
- react-native 播放声音
- 习题7.3
- spring拦截器
- 文件中例如1饭钱1000 2房租2000 这样的数据怎么把后面的花费相加输出?
- Objective-C中为何用copy修饰block
- Hexo之使用CodingPages实现全站Https
- Hexo之静态+动态背景设置
- 关于mysql忘记root密码解决
- 安装android studio出现unable to access android sdk add-on list解决方法
- leetcode练习 714. Best Time to Buy and Sell Stock with Transaction Fee
- 关于Http相关具体内容
- 11.1题解