闹钟定时小练习

17 篇文章 0 订阅
描述

乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)

输入描述:

输入现在的时刻以及要睡的时长k(单位:minute),中间用空格分开。
输入格式:hour:minute k(如hour或minute的值为1,输入为1,而不是01)
(0 ≤ hour ≤ 23,0 ≤ minute ≤ 59,1 ≤ k ≤ 109)

输出描述:

对于每组输入,输出闹钟应该设定的时刻,输出格式为标准时刻表示法(即时和分都是由两位表示,位数不够用前导0补齐)。

代码

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        //用 String 来接收输入的时刻
        //不能使用 sc.nextLine();
        String str = sc.next();
        //用 int 来接收睡觉的分钟数
        int k = sc.nextInt();      // 记录k分钟
        int index = 0;
        for(int i = 0; i < str.length(); i++){
            if(str.charAt(i) == ':'){//单字符型
                index = i;
                break;
            }
        }
        int hour = Integer.parseInt(str.substring(0,index));//分割出 hour
        int minute = Integer.parseInt(str.substring(index+1,str.length()));
        hour = (hour+(k+minute)/60)%24;
        minute = (k%60+minute)%60;
        System.out.println(String.format("%02d",hour)+":"+String.format("%02d",minute)); 
    }
}
用到的知识点

1、java.lang.String 包中的 charAt() 方法,返回一个 char 类型
charAt(int index) 返回指定索引处的 char 值。
代码中的 str.charAt(i) 首先 str 定义的是 String 类型,调用 charAt()方法获取第 i 个字符

2、java.lang.String 包中的 substring() 方法,返回一个 String 类型
substring(int beginIndex) : 返回一个新的字符串,它是此字符串的一个子字符串。
substring(int beginIndex, int endIndex) : 返回一个新字符串,它是此字符串的一个子字符串。
代码中 str.substring(0,index); 表示返回从 0 到 index 的一个子字符串

3、java.lang.Object
继承者 java.lang.Number
继承者 java.lang.Integer
返回 static int 类型
parseInt(String s): 将字符串参数作为有符号的十进制整数进行解析。
parseInt(String s, int radix): 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
代码中 :
Integer.parseInt(str.substring(0,index)); 表示将字符串 str 的子字符串 0到index 解析为有符号的十进制整数。
Integer.parseInt(str.substring(index+1,str.length()));表示将字符串 str 的子字符串 index+1到str.length() 解析为有符号的十进制的整数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值