m0_74001975 2022-10-18 23:40 采纳率: 75%
浏览 218
已结题

java最后一个小问题

要创建房屋预算,您想找出您的净收入,即您的收入减去您的支出。
编写一个Java方法,该方法采用输入字符串并计算收入减去费用。
收入组成部分用数字表示;而您的支出是以减号“-”开头的数字。
输入字符串可能包含小写字母和大写字母以及其他字符。
请注意,Character.isDigit(char)测试字符是否是字符'0','1',直到,'9'之一。另请回想一下,Integer.parseInt(string)将字符串转换为int。
测试用例:
calcNetIncome("工资15000元奖金2000租金-1000Y") → 16000
calcNetIncome(“25000毛收入,-200水,电:-300”)→24500

  • 写回答

5条回答 默认 最新

  • 这次真没糖 2022-10-19 08:40
    关注
    
    import java.util.Scanner;
    
    public class test {
        public static int calcNetIncome(String str) {
            int sum = 0;
            for (int i = 0; i < str.length(); i++) {
                if (Character.isDigit(str.charAt(i))) {
                    int flag = 1, temp = 0;
                    if (str.charAt(i - 1) == '-') {
                        flag = -1;
                    }
                    while (Character.isDigit(str.charAt(i))) {
                        temp = temp * 10 + str.charAt(i) - '0';
                        i++;
                    }
                    i--;
                    sum += temp * flag;
                }
            }
            return sum;
        }
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNextLine()) {
                String str = sc.next();
                int result = calcNetIncome(str);
                System.out.println(result);
            }
            sc.close();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月18日

悬赏问题

  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目