众所周知,java中的内容很多都是与实际生活息息相关的,这也是为什么java编程语言广受欢迎的原因之一。今天就来为大家展示一些基础算法题,一起来了解一下吧。
一、TestBall.java
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?代码展示如下:
package cn.edu.hit; /** * 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半; * 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? */ public class testBall { public static void main(String[] args) { double a = 100; double sum = 100; for (int i = 2; i <= 10; i++) { a = a * 0.5; sum += a * 2; } System.out.println("a=" + a); System.out.println("sum=" + sum); } }
二、TestTN.java
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。代码展示如下:
package cn.edu.hit; /** * 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。 * 组成所有的排列后再去 掉不满足条件的排列。 * * @author tonylp */ public class testTN { public static void main(String[] args) { int a = 0; int b = 0; int c = 0; int num = 1; for (a = 1; a < 5; a++) { for (b = 1; b < 5; b++) { for (c = 1; c < 5; c++) { if (a != b && a != c && b != c) { System.out.println("NO." + num + ":" + a + "" + b + "" + c); num++; } } } } } }
三、MoneyAward.java
题目:企业发放的奖金根据利润提成。利润(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.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。代码展示如下:
package cn.edu.hit; 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,求应发放奖金总数? * 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 * * @author tonylp */ public class moneyAward { public static void main(String[] args) { double rate1 = 0.1, rate2 = 0.075, rate3 = 0.05, rate4 = 0.03, rate5 = 0.014, rate6 = 0.01; long reward = 0; System.out.println("请输入利润:"); Scanner sc = new Scanner(System.in); long money = sc.nextLong(); if (money >= 0 && money <= 100000) { reward = (long)(money * rate1); } else if (money <= 200000) { reward = (long)(100000 * rate1 + (money - 100000) * rate2); } else if (money <= 400000) { reward = (long)(100000 * rate1 + 100000 * rate2 + (money - 200000) * rate3); } else if (money <= 600000) { reward = (long)(10000 * rate1 + 100000 * rate2 + 200000 * rate3 + (money - 400000) * rate4); } else if (money <= 1000000) { reward = (long)(10000 * rate1 + 100000 * rate2 + 200000 * rate3 + 200000 * rate4 + (money - 6000000) * rate5); } else { reward = (long)(10000 * rate1 + 100000 * rate2 + 200000 * rate3 + 200000 * rate4 + 400000 * rate5 + (money - 1000000) * rate6); } System.out.println("奖金为:" + reward); } }
以上就是关于java中基础算法题,TestBall.java、TestTN.java和 MoneyAward.java的实例分享了。如果你对java知识感兴趣,想要了解更多java入门知识,敬请关注奇Q工具网。
推荐阅读: