JAVA基础编程50题(10-12题)具体解释
一、描写叙述
1、一球从m米高度自由落下。每次落地后反跳回原高度的一半;再落下,求它在 第n次落地时。共经过多少米?第10次反弹多高?
2、有1、2、3、4个数字。能组成多少个互不同样且无反复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。可是必须满足每一位上的数字各不同样,依据排列组合原理总共同拥有4*3*2=24种。
3、企业发放的奖金依据利润提成。利润(I)低于或等于10万元时。奖金可提10%。利润高于10万元,低于20万元时,低于10万元的部分按10%提成。高于10万元的部分,可可提成7.5%;20万到40万之间时。高于20万元的部分。可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时。高于60万元的部分,可提成1.5%。高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
程序分析:依据输入的利润推断该利润所属的提成范围,计算结果。
二、源码
1、程序1
package tong.yue.hong; import java.util.Scanner; /**
* 一球从m米高度自由落下,每次落地后反跳回原高度的一半;再落下。求它在 第n次落地时。共经过多少米?第10次反弹多高?
* @author tong
*
*/ public class BallHeight { public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入小球落地时的高度:"); double height = scan.nextDouble();
if (height<0) {
System.out.print("输入数据有误。请又一次输入小球落地时的高度:");
height = scan.nextDouble();
}
System.out.print("请输入小球落地的次数:");
int times = scan.nextInt();
if (times<0) {
System.out.print("输入数据有误,请又一次输入小球落地的次数:");
times = scan.nextInt();
}
scan.close();
ballDistance(height,times); } private static void ballDistance(double height, int times) { System.out.println("start height:"+height);
//開始落下之前的高度,以后每次弹起和落下记为一次
double sum = height;
for(int i=1;i<=times;i++){
height /=2.0;
System.out.println("第"+i+"次,球的弹起高度为:"+height);
//每次落地后反跳回原高度的一半,经过的路程为原高度的一半乘以2。由于有弹起和落下
sum +=2*height;
}
System.out.println("第"+times+"次,落地后经过的总距离为:"+sum+"米。 ");
} }
执行结果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG9uZ3l1ZWhvbmcxMzc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="球下落">
2、程序2
package tong.yue.hong;
/**
* 有1、2、3、4个数字。能组成多少个互不同样且无反复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
可是必须满足每一位上的数字各不同样。依据排列组合原理总共同拥有4*3*2=24种。
* @author tong
*
*/ public class PailieZuhe { public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 4; j++) {
//个位和十位不能同样
if (j==i) {
continue;
}
for (int k = 1; k <= 4; k++) {
//个位和百位,十位和百位不能同样
if (i!=k&&j!=k) {
int num = i+j*10+k*100;
System.out.print(num+" ");
count++;
if (count%10==0) {
System.out.println();
}
}
}
}
}
System.out.println("\n总计:"+count+"个"); } }
执行结果:
3、程序3
package tong.yue.hong; import java.util.Scanner; /**
* 企业发放的奖金依据利润提成。 * 利润(I)低于或等于10万元时,奖金可提10%;
* 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
* 20万到40万之间时。高于20万元的部分,可提成5%;
* 40万到60万之间时高于40万元的部分。可提成3%;
* 60万到100万之间时,高于60万元的部分。可提成1.5%;
* 高于100万元时,超过100万元的部分按1%提成
* 从键盘输入当月利润I。求应发放奖金总数?
程序分析:依据输入的利润推断该利润所属的提成范围,计算结果
* @author tong
*
*/
public class Salary { public static void main(String[] args) {
System.out.println("请输入当月利润,单位为万元:");
Scanner scanner = new Scanner(System.in);
double I = scanner.nextDouble();
while (I<0) {
System.out.println("输入数据有误,请又一次输入当月利润。单位为万元:");
I = scanner.nextDouble();
}
scanner.close();
computeBonus(I); } private static void computeBonus(double i) {
double bonus = 0;
// 利润(I)低于或等于10万元时,奖金可提10%;
// 利润高于10万元,低于或等于20万元时。低于10万元的部分按10%提成,高于10万元的部分。可提成7.5%;
// 20万到40万之间时,高于20万元的部分。可提成5%。
// 40万到60万之间时高于40万元的部分。可提成3%;
// 60万到100万之间时,高于60万元的部分。可提成1.5%;
// 高于100万元时,超过100万元的部分按1%提成
if (i<=10) {
bonus = i*0.1;
}else if (i<=20) {
bonus = 10*0.1+(i-10)*0.075;
} else if (i<=40) {
bonus = 10*0.1+10*0.075+(i-20)*0.05;
} else if (i<=60) {
bonus = 10*0.1+10*0.075+20*0.05+(i-40)*0.03;
}else if (i<=100) {
bonus = 10*0.1+10*0.075+20*0.05+20*0.03+(i-60)*0.015;
}else {
bonus = 10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(i-100)*0.01;
} System.out.println("您本月利润为:"+i+"万元。所得奖金为:"+bonus+"万元。");
} }
执行结果:
JAVA基础编程50题(10-12题)具体解释的更多相关文章
- JAVA基础编程50题(4-6题)具体解释
一.描写叙述 1.将一个正整数分解质因数.比如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完毕: (1)假设这个质数恰等于n,则说明 ...
- Java经典逻辑编程50题
Java经典逻辑编程50题 2016-11-03 09:29:28 0个评论 来源:Alias_fa的博客 收藏 我要投稿 [程序1] 題目:古典问题:有一对兔子,从出生后第 ...
- 6、50道JAVA基础编程练习题跟答案
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
- 50道JAVA基础编程练习题
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析 ...
- 50道JAVA基础编程练习题 - 题目
50道JAVA基础编程练习题[1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [2]题目:判断 ...
- MQ java 基础编程
MQ java 基础编程 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : wenjunwu430@gmail.com 前言 通过 2 个多星期对 MQ 学习,在 partner 丁 & ...
- JAVA基础——编程练习(二)
JAVA编程练习(二) 今天我为了巩固之前的java基础知识的学习,再次进行实战演习,编写了一个小小的java控制台程序,主要是运用java面向对象的思想来完成这个小项目. 一.项目背景介绍 根据所学 ...
- Java经典逻辑编程50题 (转)
注: 转自https://blog.csdn.net/Alias_fa/article/details/52985112 (摘了题目部分和部分分析,想看原作代码的见原作链接) [程序1] 題目:古典 ...
- java基础编程题练习(一)
1.编程实现用户输入4个整数,按从大到小的顺序排列输出. 思路:将输入的数据存入数组,使用冒泡排序对数组数据进行排序后输出数组 冒泡排序的代码如下: import java.util.Scanner; ...
随机推荐
- 对称加密算法DES,3重DES,TDEA,Blowfish,RC5,IDEA,AES。
对称加密算法:DES,3重DES,TDEA,Blowfish,RC5,IDEA,AES. 1.对称加密算法 1.1 定义 对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文 ...
- 【MongoDB】The description of index(一)
From this blog, we start to talk about the index in mongo Database, which is similar to the traditio ...
- Android动绘图标——I am not a gif maker,I am a developer
最早在git上发现一个非常酷眩的动绘图标效果: https://github.com/xuyisheng/tickplusdrawable 不得不说,国外的程序猿在细节的考虑上,确实比我们要好非常多, ...
- PowerDesigner中SQL文件、数据库表反向生成PDM
1 反向生成PDM 1) 创建一个空的PDM模型(选择相应的DBMS): 2) 选择[Database]--[Update Model from Database ...
- 关于Opencv2.4.x中stitcher类的简单应用
1.opencv2.4以上版本有stitcher类,可以简单方便的实现图像的拼接,目前只是简单的测试一下stitcher类的拼接功能,也是纠结了好长时间,最终发现是要在链接库中加上opencv_sti ...
- (转)Python获取当时时间
我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次, 为了能够更好的记住,我今天特意写下python 当前时间这篇文章,如果你觉的对你有用的话 ...
- Cocos2d-x3.0 Button
Size widgetSize = Director::getInstance()->getWinSize(); Text* alert = Text::create("Layout& ...
- 怎样使用docker不加sudo
有时候发现docker有的指令必须加sudo才干运行,通过下面三步设置便可不加sudo直接运行docker指令: 1. 假设还没有docker group就加入一个: sudo groupadd do ...
- jQuery插件实战之fullcalendar(日历插件)Demo
jQuery的插件许多,应用的场景也很丰富,今天我这里给大家介绍一款很有用的日历页面开发插件 - fullcalendar,眼下最新版本号是1.5.1,使用这款插件可以高速帮助你高速编程实现基于web ...
- Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)
NRPE监控插件基础 NRPE总共由两部分组成: (1).check_nrpe插件,运行在监控主机上. (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 整个的监控过程 ...