一个简单的B站学习视频合计时常计算程序(java版)

package time;

import java.util.Scanner;

public class StringTimeCount {
    public static void main(String[] args) {
        System.out.println("请输入原始数据:(数据应满足时间为 xx:xx ,而不应该包含xx:xx:xx,也就是包含几小时)");
        System.out.println("最后一行输入0表示输入结束");
        Scanner scanner = new Scanner(System.in);
        String str = "";
        while (true) {
            String str_ = scanner.next();
            if (str_.equals("0"))
                break;
            str += str_;
        }
        while (true) {
            int index = str.indexOf(":");    //获取字符在字符串中第一次出现的索引
            if (index == -1) {
                return;
            }
            String str_ = str.substring(index - 2, index + 3);
//            System.out.println(str_);   //截取时间段的字符串
            /*
            我这边的截取只是为了配合我的TimeCountApp进行时间计算而略去了':'字符
            */
            System.out.println(str.substring(index - 2, index)+""+str.substring(index+1 , index+3));
            /*获取后就将它抹去,好在下次循环定位新的时间索引*/
            str = str.replace(str_ , "");
        }
    }
}

这是字符串处理程序入口
在这里插入图片描述
这样将你想统计的信息全部复制到StringTimeCount程序的输入中,即可返回简单的时常列表
在这里插入图片描述

package time;

import java.util.Scanner;

/**
 * 这个是完成时间相加的类
 */
public class Time {
    //属性
    int num;
    int hour;
    int minute;
    int second;

    public void TimeCountOOP() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("======时间统计开始=======");
        int[] timeNum = new int[10];
        System.out.println("请输入你要统计的时间,如果是1:57,输入157即可,结束请输入0");
//        for (int i = 0; i < timeNum.length; i++) {
//            timeNum[i] = scanner.nextInt();
//            if (timeNum[i] == 0) {
//                break;
//            }
//        }
        int i = 0;
        boolean judge = true;
        while (judge) {
            if (i == timeNum.length) {
             int[] newtimeNum = new int[timeNum.length+i];          //两倍动态扩容
                for (int j = 0; j < timeNum.length; j++) {
                    newtimeNum[j] = timeNum[j];
                }
                timeNum = newtimeNum;
            }
            timeNum[i] = scanner.nextInt();
            if(timeNum[i] == 0){
                judge = false;
            }
            i++;
        }

        hour = classify(timeNum) / 6000;
        minute = classify(timeNum) / 100;
        second = classify(timeNum) % 100;
        if (hour == 0) {
            System.out.println("总计为:" + minute + "分" + second + "秒");
        } else {
            minute = minute % 60;
            System.out.println("总计为:" + hour + "小时" + minute + "分" + second + "秒");
        }
    }

    public int classify(int... nums) {
        minute = 0;
        second = 0;
        for (int i = 0; i < nums.length; i++) {
            minute += nums[i] / 100;
            second += nums[i] % 100;
        }
        minute += second / 60;
        second = second % 60;
        return minute * 100 + second;

    }

}

package time;

/**
 * 直接调用Time对象
 */
public class TimeCountApp {
    public static void main(String[] args) {
        Time time = new Time();
        time.TimeCountOOP();
    }
}

在类TimeCountApp中运行,将StringTimeCount程序返回的时常输入进这个程序的输入里,即可返回总时长
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以为您提供一个示例程序,它可以计算整存整取利息:# 计算整存整取利息 principal = float(input("请输入本金:")) # 本金 rate = float(input("请输入年利率:")) # 年利率 time = float(input("请输入存款期限:")) # 存款期限 interest = principal * rate * time # 计算利息 total = principal + interest # 计算本息合计 print("本息合计:", total) ### 回答2: 下面是一个使用Python编写的整存整取计算程序: ```python # 输入本金 principal = float(input("请输入本金:")) # 输入年利率 interest_rate = float(input("请输入年利率(例如,输入0.05表示5%):")) # 输入存款期限(年) years = int(input("请输入存款期限(年):")) # 计算利息 interest = principal * interest_rate * years # 计算本息和 amount = principal + interest # 打印结果 print("存款期限为{}年,本金利率为{},利息为{},本息和为{}".format(years, interest_rate, interest, amount)) ``` 这个程序首先会要求用户输入本金、年利率和存款期限。然后它会根据输入的信息计算出利息和本息和,并将结果打印出来。可以根据需求进行修改和补充,比如加上错误处理、添加循环等。 ### 回答3: 下面是一个用Python编写的整存整取利息计算程序: ```python def calculate_interest(principal, rate, years): interest = principal * rate * years total_amount = principal + interest return interest, total_amount principal = float(input('请输入本金:')) rate = float(input('请输入年利率(以小数形式输入):')) years = int(input('请输入存款年限:')) interest, total_amount = calculate_interest(principal, rate, years) print(f"利息为:{interest} 元") print(f"本息合计为:{total_amount} 元") ``` 这个程序首先定义了一个名为`calculate_interest`的函数,该函数接受本金、年利率和存款年限作为参数,计算出利息和本息合计,并返回这两个值。 然后,程序通过`input`函数获取用户输入的本金、年利率和存款年限。 接下来,程序调用`calculate_interest`函数,将用户输入作为参数传递给该函数,并将返回的利息和本息合计保存在`interest`和`total_amount`变量中。 最后,程序使用`print`函数输出利息和本息合计的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值