欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > Java题集(从入门到精通)04

Java题集(从入门到精通)04

2024/10/25 11:19:56 来源:https://blog.csdn.net/2401_86644481/article/details/142706923  浏览:    关键词:Java题集(从入门到精通)04

此系列文章收录大量Java经典代码题(也可以算是leetcode刷题指南),希望可以与大家一起努力学好Java。3、2、1,请看!

目录

一、北京地铁计价程序

二、人名币兑换

三、各位数字之和

一、北京地铁计价程序

【问题描述】北京地铁按公里计价的规则为:6km(含)内为3元;6~12km(含)为4元;12~22km(含)为5元;22~32km(含)为6元;32km以上每加1元可乘坐20km.

【输入形式】输入要乘坐地铁的距离(整数),以km为单位
【输出形式】输出乘坐这段距离地铁所需要的费用,以元为单位
【样例输入】38
【样例输出】price=7
【样例说明】38km-32km=6km<1*20km,则地铁费用为6+1=7元
代码如下:

    public static void main(String[] args) throws Exception {Scanner scn=new Scanner(System.in);int m=scn.nextInt();//输入乘坐地铁的距离int price=0;//price初始值为0if(m<=6){price=3;}else if(m<=12){price=4;}else if(m<=22){price=5;}else if(m<=32){price=6;}else{m-=32;price=6;while(m>0){//除去基本的32公里,每20公里加一元m-=20;price++;}}System.out.println("price="+price);//输出最后结果}

二、人名币兑换

【问题描述】

输入一个人民币的整数值(100以内以元为单位),编程找到用10元、5元、2元、1元表示的总数量的最小组合方式。

【输入形式】

从控制台输入一个整数值,表示以元为单位的人民币币值。

【输出形式】

向控制台输出四个整数(以空格分隔),分别表示兑换成的10元、5元、2元、1元人民币的数量,若没有某个币值,则对应输出0。

【样例1输入】

98

【样例1输出】

9 1 1 1

【样例1说明】

输入为98,表示98元人民币,把其兑换成10元、5元、2元、1元表示的总数量的最小组合方式为:9个10元,1个5元,1个2元,1个1元,故输出:9 1 1 1

【样例2输入】

11

【样例2输出】

1 0 0 1

【样例2说明】

输入为11,表示11元人民币,把其兑换成10元、5元、2元、1元表示的总数量的最小组合方式为:1个10元,1个1元,没有5元和2元,故输出:1 0 0 1。其中在int类型中,10/2=5,5/2=2,2/2=1,可以利用这一点使程序更简便。代码如下:

    public static void main(String[] args) throws Exception {Scanner scn=new Scanner(System.in);int n=scn.nextInt();//人民币面额int m=10;while(n>0){System.out.print(n/m+" ");n%=m;m/=2;}}

三、各位数字之和

【问题描述】
 
编写函数int sum(int x),求整数x的各位数字之和。
在main函数中测试该函数:从键盘输入一非负整数,然后调用sum函数计算各位数字之和并输出结果。
 
【输入形式】
 
输入一个正整数。
 
【输出形式】

输出该整数各位数字之和。
 
【样例输入】
58
 
【样例输出】

13
 
【样例说明】

输入整数58,其各位数字之和为:5+8 = 13。使用sum函数,涉及到函数调用。

    public static void main(String[] args) throws Exception {Scanner scn=new Scanner(System.in);int n=scn.nextInt();//输入数据System.out.println(sum(n));}public static int sum(int n){int m=0;while(n>0){m+=n%10;n/=10;}return m;}

这篇文章到此结束,感谢各位的阅读和所提出的宝贵意见,大家也可以试着自己动手编写代码。如果觉得这篇文章写的还可以或者对您有帮助,麻烦点赞收藏加转发!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com