[Java 编程基本功] (五) 小球落体, 发奖金, 1,2,3,4 可以组成多少个数

第十三题

一球从 100 米高度自由落下, 每次落地后反跳回原高度的一半; 再落下, 求它在第 10 次落地时, 共经过多少米? 第 10 次反弹多高?

思路:

小球落到地上再反弹到原高度的一半视为一次下落的过程, 第十次落地时, 完成了 9 次落地再反弹的过程.

代码:publicclassBall{

publicstaticvoidmain(String[]args){

//h 记录球的初始高度

doubleh=100;

//up 记录小球反弹的距离

doubleup=0;

//down 记录小球下落的距离

doubledown=0;

for(inti=1;i<10;i++){

down=down+h;

up=up+h/2;

h=h/2;

}

System.out.println("10 次落地共经过多少米"+(down+up+h));

System.out.println("第 10 次反弹高度"+h/2);

}

}

这样子, 代码是不是就比较容易理解了呢?

咱们的 Java 毕竟是一门面相对象的语言, 所以咱们来玩点花样, 用面相对象的方式来解决这个问题, 嘿嘿我真是机智

面相对象的方式:

一球从 100 米高度自由落下, 每次落地后反跳回原高度的一半; 再落下, 求它在第 10 次落地时, 共经过多少米? 第 10 次反弹多高?

先来写一个小球的实体类:

代码:publicclassBall{

doubleheight;

doublesum;

publicBall(doubleheight){

this.height=height;

sum=0.0;

}

publicvoidfall(){

sum=sum+height;

}

publicvoidbound(){

height=height/2;

sum=sum+height;

}

@Override

publicStringtoString(){

return"Ball [高度"+height+", 经过的路程"+sum+"]";

}

}

现在我们另外在写一个代码来调用这个代码:publicclassBallTest{

publicstaticvoidmain(String[]args){

//new 一个 1 小球对象

Ballball=newBall(100);

// 小球完成 9 次落地反弹

for(inti=1;i<10;i++){

ball.fall();

ball.bound();

}

// 第十次落地时的距离

ball.fall();

System.out.println(ball);

// 反弹的高度

ball.bound();

System.out.println("小球的高度为:"+ball.height);

}

}

效果图:

image

当然重点是第一种方式, 第二种面相对象的方式, 现在看不懂也没关系, 我们一点一点来. 自己可以去尝试一下, 但是千万不要知识中毒, 我们就是锻炼一下这种面相对象的思想而已~

第十四题

有 1,2,3,4 四个数字, 能组成多少个互不相同且无重复数字的三位数? 都是多少?

思路:

我是没有别的想法, 就用穷举法吧 (小伙伴们有好方法欢迎留言谈论哈)

代码:publicclassTest2{

publicstaticvoidmain(String[]args){

intcount=0;

for(intx=1;x<5;x++){

for(inty=1;y<5;y++){

for(intz=1;z<5;z++){

if(x!=y&&x!=z&&y!=z){

count++;

System.out.println(x*100+y*10+z);

}

}

}

}

System.out.println("共有"+count+"个三位数");

}

}

第十五题

企业发放的奖金根据利润提成. 利润低于或等于 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% 提成, 从键盘输入当月利润, 求应发放奖金总数?

代码:importjava.util.Scanner;

publicclassBonus{

publicstaticvoidmain(String[]args){

doublex=0,y=0;

System.out.println("请输入当前利润 (单位: 万)");

Scannerin=newScanner(System.in);

while(in.hasNext()){

x=in.nextDouble();

if(x>=0&&x<=10){

y=x*0.1;

}elseif(x>10&&x<=20){

y=10*0.1+(x-10)*0.075;

}elseif(x>20&&x<=40){

y=10*0.1+10*0.075+(x-20)*0.05;

}elseif(x>40&&x<=60){

y=10*0.1+10*0.075+20*0.05+(x-40)*0.03;

}elseif(x>60&&x<=100){

y=10*0.1+10*0.075+20*0.05+20*0.03+(x-60)*0.015;

}elseif(x>100){

y=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(x-100)*0.01;

}

System.out.println("应发放的奖金数"+y+"万");

}

}

}

来源: http://www.jianshu.com/p/2e55851340dc

java小球落体问题_[Java 编程基本功] (五) 小球落体, 发奖金, 1,2,3,4 可以组成多少个数...相关推荐

  1. java编译器jdk版本_以编程方式确定Java类的JDK编译版本

    java编译器jdk版本 当需要确定使用哪个JDK版本来编译特定的Java .class文件时, 通常使用的方法是使用javap并在javap输出中查找列出的"主要版本". 我在我 ...

  2. java 柯里化_函数式编程(Java描述)——Java中的函数及其柯里化

    本文继续上一篇的内容 在Java中,函数可以表现为一个普通的方法.一个lambda表达式,又或者方法引用,甚至是匿名类.本文不会介绍匿名类这种形式. 方法 Java中的方法,Java使用方法这一概念来 ...

  3. java 基础面试 英文_[Java面试] 面试java基础总结大全

    原标题:[Java面试] 面试java基础总结大全 基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. ...

  4. java 字符串格式替换_[Java] - 格式字符串替换方法

    Java 字符串格式替换方法有两种,一种是使用String.format(...),另一种是使用MessageFormat.format(...) 如下: import java.text.Messa ...

  5. java 内存泄露 书籍_[Java教程]一次艰难的内存泄露排查,BeanUtils 的锅

    [Java教程]一次艰难的内存泄露排查,BeanUtils 的锅 0 2020-10-29 18:24:42 现象 通过jstat -gcutil pid 5000 ,发现fgc次数很多而且频繁,此时 ...

  6. java privatekey输出字符串_[Java教程]根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象_星空网...

    根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象 2012-05-29 0 1.字符串生成公钥对象 PublicKey /** * 实例化公钥 * * @re ...

  7. java视、频_[java视频]感人故 事视 频网 站上那找~~~

    感人故 事视 频网 站上那找~~~ 问题补充:感人故 事视 频网 站上那找~~~ ●呵呵,你问对人了,感人故事就去"新浪show",现在是新浪期下的网站,运行稳定,观看流畅,上传简 ...

  8. java 历遍 类_[Java] 遍历指定包名下所有的类(支持jar) | 学步园

    项目需要,仅做记录. 支持包名下的子包名遍历,并使用Annotation(内注)来过滤一些不必要的内部类,提高命中精度. 通过Thread.currentThread().getContextClas ...

  9. java 图片宽高_[Java]获取图片高和宽

    通过javax.imageio.ImageIO类中的read()函数读取的图片,存放在类java.awt.image.BufferedImage类中.调用BufferedImage类中的getWidt ...

最新文章

  1. linux 下串口编程VTIME和VMIN的设置
  2. 【控制】遗传算法(GA,Genetic Algorithm)及 Matlab 实现 代码详细版
  3. ajax原理 博客,AJAX工作基本原理
  4. git推送分支到远程分支
  5. php柱形图 数据sql,ThinkPHP 5.1 读取数据库中的图片
  6. #530. 「LibreOJ β Round #5」最小倍数 二分 + 数论
  7. 关于如何在Python中使用静态、类或抽象方法的权威指南
  8. php和windows对应,哪个.so文件可以用于windows系统中与.dll文件相对应的linux系统,以便将php连接到ms sql server...
  9. linux初始:命令行解释器(shell)、权限
  10. android 55
  11. hik中心服务器登录失败,蒲公英云平台登录失败解决方案
  12. maven项目jdk版本配置及常见错误Error:java: 无效的目标发行版: 8解决
  13. LCD/OLED显示产品从新品导入量产的线体认证策划
  14. 中国移动开发者大会PPT集萃(一):核心技术与应用开发实践
  15. java动态时钟_Java实现动态数字时钟
  16. C++ 判断矩形是否相交
  17. win10计算机管理里找不到设备管理器的解决方法
  18. 答疑解惑 | Linux GNU C 与 ANSI C 的区别
  19. CloudBees程序员就如何开发可大规模扩展的HTTP服务器进行演讲
  20. 视频压缩【亲测可用】

热门文章

  1. 如何改变computed执行_皓儿日记2019-11-09 《执行力》读书笔记
  2. 达梦数据库如何把EXCEL的数据导入到表中?
  3. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框
  4. QGC编译报错error C2220: 警告被视为错误 最佳解决方法
  5. 鸿蒙系统手机一览表,四款华为鸿蒙系统手机推荐,后续可直接升级鸿蒙2.0
  6. 介绍一个开源博客项目并部署到Nginx服务器
  7. 黑马SpringBoot --基础篇
  8. Leetcode——226. 翻转二叉树
  9. 2017年6月Mac OS 10.11安装文档
  10. JAVA利用第三方平台发送短信验证码