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; ...
随机推荐
- 2014辽宁省赛 Repeat Number
问题 C: Repeat Number 时间限制: 1 Sec 内存限制: 128 MB [cid=1073&pid=2&langmask=0">提交][状态][论坛 ...
- 表达式树动态拼接lambda
动态拼接lambda表达式树 前言 最近在优化同事写的代码(我们的框架用的是dapperLambda),其中有一个这样很普通的场景——界面上提供了一些查询条件框供用户来进行过滤数据.由于dappe ...
- Routing 服务
WCF Routing 服务 WCF4.0支持路由机制,通过RoutingService实现请求分发.拦截处理. 一.应用场景 1.暴露一个endpoint在外网,其余服务部署于内网: 2.请求分发, ...
- PV(访问量)、UV(独立访客)、IP(独立IP) (转)
网站统计中的PV(访问量):UV(独立访客):IP(独立IP)的定义与区别今天使用了雅虎统计,看到里面就有这个,就说说,其实里面的uv大家可能觉得很新奇,但是和站长统计里的独立访客是一样的嘛.---- ...
- HDOJ 2736 Surprising Strings
Surprising Strings Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Ucan23操作系统项目地址
期间耽误了近半年的时间.在昨天最终完毕了Ucan23OS, 项目托管在GitHub上,地址为: https://github.com/howardking/UCAN23OS 以下为操作系统的执行截图 ...
- Android中callback(接口回调)机制
事实上,callback 机制在Android 中无处不在,特别是以Handler.Callback.Listener这三个词结尾的,都是利用callback机制来实现的.比方点击事件onClickL ...
- PHP实现队列(Queue)数据结构
队列(Queue),是一种特殊的先进先出线性表,其只能在前端进行删除操作(一般称为出队),在后端进行插入操作(一般称为入队).进行删除操作的端称为队头,进行插入操作的端称为队尾.队列,是按照先进先出或 ...
- JAVA 根据经纬度算出附近的正方形的四个角的经纬度
/** * * @param longitude 经度 * @param latitude 纬度 * @param distance 范围(米) * @return */ public static ...
- android ksoap2调用.net Webservice 方法总结
android ksoap2调用.net Webservice 方法直接放到一个类里: package com.util; import org.ksoap2.SoapEnvelope; impor ...