一、描写叙述

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题)具体解释的更多相关文章

  1. JAVA基础编程50题(4-6题)具体解释

    一.描写叙述 1.将一个正整数分解质因数.比如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完毕: (1)假设这个质数恰等于n,则说明 ...

  2. Java经典逻辑编程50题

    Java经典逻辑编程50题 2016-11-03 09:29:28      0个评论    来源:Alias_fa的博客    收藏   我要投稿 [程序1] 題目:古典问题:有一对兔子,从出生后第 ...

  3. 6、50道JAVA基础编程练习题跟答案

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...

  4. 50道JAVA基础编程练习题

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析 ...

  5. 50道JAVA基础编程练习题 - 题目

    50道JAVA基础编程练习题[1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [2]题目:判断 ...

  6. MQ java 基础编程

    MQ java 基础编程 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : wenjunwu430@gmail.com 前言 通过 2 个多星期对 MQ 学习,在 partner 丁 & ...

  7. JAVA基础——编程练习(二)

    JAVA编程练习(二) 今天我为了巩固之前的java基础知识的学习,再次进行实战演习,编写了一个小小的java控制台程序,主要是运用java面向对象的思想来完成这个小项目. 一.项目背景介绍 根据所学 ...

  8. Java经典逻辑编程50题 (转)

    注: 转自https://blog.csdn.net/Alias_fa/article/details/52985112  (摘了题目部分和部分分析,想看原作代码的见原作链接) [程序1] 題目:古典 ...

  9. java基础编程题练习(一)

    1.编程实现用户输入4个整数,按从大到小的顺序排列输出. 思路:将输入的数据存入数组,使用冒泡排序对数组数据进行排序后输出数组 冒泡排序的代码如下: import java.util.Scanner; ...

随机推荐

  1. Windows8和MacOS10.9双系统安装及Mac经常使用软件安装--联想E49A

    前提 本篇内容所描写叙述的内容仅仅适合联想E49A笔记本,经过本篇的内容之后,对于Mac OS 10.9的使用达到正常工作使用的标准,完美度已经比較好了. 结果例如以下:显卡.网卡(RTL8168). ...

  2. 激动啊,终于诞生了,编译了属于俺自己的 JDK

    激动啊,终于诞生了,编译了属于俺自己的 JDK  折腾了2天,现在编译过去了 30多分钟了,久违的 java.exe 终于出现在了 bin 目录中,属于俺自己的 JDK 终于诞生了,激动啊

  3. nginx.conf 文中描述的配置文件

    ###############################nginx.conf 件里文说明 #user nobody; # user 主模块指令,指令nginx worker 执行用户和用户组(u ...

  4. Loser应该知道的6个残酷人生事实(血泪翻译)

    Loser应该知道的6个残酷人生事实(血泪翻译) - Acfun - 天下漫友是一家 Loser应该知道的6个残酷人生事实(血泪翻译)

  5. JAVA实现Shell排序

    Shell排序可以理解为插入排序的变种,它充分利用了插入排序的两个特点: (1). 当数据规模小的时候非常高效. (2). 当给定数据已经有序时的时间代价为O(N) 所以,Shell排序每次把数据分成 ...

  6. Androidclient和server端数据交互的第一种方法

    网上有非常多样例来演示Android客户端和server端数据怎样实现交互只是这些样例大多比較繁杂,对于刚開始学习的人来说这是不利的.如今介绍几种代码简单.逻辑清晰的交互样例,本篇博客介绍第一种: 一 ...

  7. kubuntu14.04以下vpn(vpnc)连接配置

    前几天在公司内部一直配置不了kubuntu14.04以下的vpn,从而无法实如今外网訪问公司内网的一些功能:是不方便在回家后继续coding(当然还有其他的事情.如邮件收发等.能够不用在linux以下 ...

  8. ajax基本概念,方法

    ajax    Asynchronous javascript and xml异步的 javascript and XMLajax 是一门在不刷新网页的情况下,与服务器进行交互更新部分网页的技术: 传 ...

  9. MAC地址格式小结

    之前一段时间在做网卡驱动的工作,如今产品量产,利用ifconfig eth hw ether在配置mac地址时发现一个问题, 随机配置一个mac地址,发现有的会报出Cannot assign requ ...

  10. jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...

    问题描写叙述 安装并启动 jenkins 后,加入了 SVN Publisher 插件,然后在构建任务的"构建后操作"操作中加入了"Publish to Subversi ...