关于时间换算的JAVA题目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于时间换算的JAVA题目相关的知识,希望对你有一定的参考价值。
题目内容:UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据。你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。提醒:要小心跨日的换算。输入格式:一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而且分小于10分,需要保留十位上的0。输出格式:一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而且分小于10分,需要保留十位上的0。输入样例:933输出样例:133时间限制:500ms内存限制:32000kb下图是我的答案。但是输入803应该输出03但是我总是输出3,不知道该怎么改。还有我提交作业显示的错误是什么?
因为题目要求是输入0到2359之间的数 并没有指出十位和个位组合数一定是分钟小于60的形式 所以要多考虑 代 码如下import java.util.Scanner;
class A
public static void main(String args[])
Scanner sd=new Scanner(System.in);
int BJT;
BJT=sd.nextInt();
int y=BJT-(int)(BJT/100)*100;
if(BJT>=0&&BJT<=60)
System.out.println(BJT+1600);
else if(BJT<=99)
System.out.println("输入有误");
if(BJT>99&&BJT<800)
if(y>=0&&y<=60)
System.out.println(BJT+1600);
else System.out.println("输入有误");
else if(BJT>=800&&BJT<1800)
if(y>=0&&y<=60)
System.out.println("0"+(BJT-800));
else System.out.println("输入有误");
else if(BJT>=1800&&BJT<=2359)
if(y>=0&&y<=60)
System.out.println(BJT-800);
else System.out.println("输入有误");
参考技术A
main是java中的keyword,把
public class main
改成
public class Main
你需要去看下java文件的命名规则
参考技术BSystem.out.println((h*100+m)); 参考技术C 题目要求0点输出00,你写的只能输出0
华为OD机试用java实现 -货币单位换算
最近更新的博客
- 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单
- 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典
- 【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南
- 华为od机试,独家整理 已参加机试人员的实战技巧
本篇题解:货币单位换算
题目
记账本上记录了若干条多国货币金额,需要转换成人民币分(fen
),汇总后输出。
每行记录一条金额,金额带有货币单位,格式为数字+单位
,可能是单独元,或者单独分,或者元与分的组合。
要求将这些货币全部换算成人民币分(fen
)后进行汇总,汇总结果仅保留整数,小数部分舍弃。
元和分的换算关系都是1:
以上是关于关于时间换算的JAVA题目的主要内容,如果未能解决你的问题,请参考以下文章