java50道经典习题-程序12计算奖金(代码片段)

parkour1026 parkour1026     2022-12-02     282

关键词:

题目:企业发放的奖金根据利润提成。
利润(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 import java.util.Scanner;
 2 public class Prog12 
 3     public static void main(String[] args) 
 4         Scanner scan=new Scanner(System.in);
 5         System.out.println("请输入当月利润:");
 6         double profit=scan.nextDouble();
 7         scan.close();
 8         System.out.println("应发奖金:"+prize(profit));
 9     
10     //计算奖金
11     private static double prize(double profit) 
12         double prize=0;
13         if(profit<=100000) //低于或等于10万元时        
14             prize=profit*0.1;
15         else if(profit<200000) //高于10万元,低于20万元时
16             prize=(profit-100000)*0.075+100000*0.1;
17         else if(profit<400000) //20万到40万之间时
18             prize=(profit-200000)*0.05+100000*0.75+100000*0.1;
19         else if(profit<600000) //40万到60万之间时
20             prize=(profit-400000)*0.03+200000*0.05+100000*0.75+100000*0.1;
21         else if(profit<1000000) //60万到100万之间时
22             prize=(profit-600000)*0.015+200000*0.03+200000*0.05+100000*0.75+100000*0.1;
23         else //高于100万元时
24             prize=(prize-1000000)*0.01+400000*0.015+200000*0.03+200000*0.05+100000*0.75+100000*0.1;
25         
26         return prize;
27         
28     
29 
30 /*运行结果
31 请输入当月利润:
32 500000
33 应发奖金:98000.0
34 */

 

java50道经典习题-程序21求阶乘(代码片段)

题目:求1+2!+3!+...+20!的和分析:使用递归求解0的阶乘和1的阶乘都为1publicclassProg21publicstaticvoidmain(String[]args)longsum=0L;for(inti=1;i<=20;i++)sum+=factorial(i);System.out.println(sum);//递归求阶乘publicstaticlongfa 查看详情

java50道经典习题-程序9求完数(代码片段)

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。1publicclassProg92publicstaticvoidmain(String[]args)3intn=1000;4compNumber(n);56//求完数7privatestaticvoidcompNumber(intn)8System.out.println(n 查看详情

java50道经典习题-程序22递归求阶乘(代码片段)

题目:利用递归方法求5!。分析:递归公式:n*factorial(n-1);1publicclassProg222publicstaticvoidmain(String[]args)3System.out.println(factorial(5));45//递归求阶乘6publicstaticlongfactorial(intn)7if(n==0||n==1)8return1L;910 查看详情

java50道经典习题-程序18乒乓球赛(代码片段)

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。分析:如果是人经过逻辑推理可... 查看详情

java50道经典习题-程序10自由落体(代码片段)

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?1importjava.util.Scanner;2publicclassProg103publicstaticvoidmain(String[]args)4System.out.println("请输入小球落地时... 查看详情

java50道经典习题-程序20求前20项之和(代码片段)

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。分析:请抓住分子与分母的变化规律。三个连续分数之间的规律是:上两个分子之和等于第三个分数的分子,上两个分母之和等于第三个分数的分... 查看详情

java50道经典习题-程序11求不重复数字(代码片段)

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。1publicclassProg112publicstaticvoidmain(String[]args... 查看详情

java50道经典习题-程序13根据条件求数字(代码片段)

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?分析:完全平方数:如果一个数能是由两个相同的数相乘的结果,那么这个数就是完全平方数,例如:9==3*3;9就是完全平方数... 查看详情

java50道经典习题-程序19输入行数打印菱形图案(代码片段)

题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案  * *** ************ ***** ***  *分析:先把图形分成两部分来看待,前四行一个... 查看详情

java50道经典习题-程序16在控制台上打印九九乘法表(代码片段)

题目:输出9*9口诀。分析:利用双重for循环进行输出,分行与列考虑,共9行9列,i控制行,j控制列。1publicclassProg162publicstaticvoidmain(String[]args)3for(inti=1;i<10;i++)4for(intj=1;j<i+1;j++)5System.out.print(j+"*"+i+"="+(j*i)+"\t");/ 查看详情

经典50道sql练习题(代码片段)

一、数据表1.学生表Student(SId,Sname,Sage,Ssex)–SId学生编号,Sname学生姓名,Sage出生年月,Ssex学生性别createtableStudent(SIdvarchar(10),Snamevarchar(10),Sagedatetime,Ssexvarchar(10));insertintoStudentvalues('01','赵雷& 查看详情

经典50道sql练习题(代码片段)

一、数据表1.学生表Student(SId,Sname,Sage,Ssex)–SId学生编号,Sname学生姓名,Sage出生年月,Ssex学生性别createtableStudent(SIdvarchar(10),Snamevarchar(10),Sagedatetime,Ssexvarchar(10));insertintoStudentvalues('01','赵雷& 查看详情

java基础50道经典练习题(21)——求阶乘

【程序21求阶乘】题目:求1+2!+3!+...+20!的和 程序分析:此程序只是把累加变成了累乘。 源码:packagecom.homework.test;/*【程序21求阶乘】题目:求1+2!+3!+...+20!的和程序分析:此程序只是把累加变成了累乘。*/publicclassTest21{public... 查看详情

java基础50道经典练习题(21)——求阶乘

【程序21求阶乘】题目:求1+2!+3!+...+20!的和 程序分析:此程序只是把累加变成了累乘。 源码:packagecom.homework.test;/*【程序21求阶乘】题目:求1+2!+3!+...+20!的和程序分析:此程序只是把累加变成了累乘。*/publicclassTest21{public... 查看详情

java基础50道经典练习题(代码片段)

一、基础问答15题1、【基本概念问答】请问Java语言是跨平台的吗?JVM是跨平台的吗?为什么?答:Java语言是跨平台的,JVM是不跨平台的。Java能跨平台正是以JVM不跨平台为代价的。Java的跨平台性由JVM实现,... 查看详情

java基础50道经典练习题(19)——打印菱形

【程序19打印菱形图案】题目:打印出如下图案(菱形)************************* 源码:packagecom.homework.test;/*【程序19打印菱形图案】题目:打印出如下图案(菱形)**************************/publicclassTest19{publicstaticvoidmain(String[]args){intn=... 查看详情

java基础50道经典练习题(19)——打印菱形

【程序19打印菱形图案】题目:打印出如下图案(菱形)************************* 源码:packagecom.homework.test;/*【程序19打印菱形图案】题目:打印出如下图案(菱形)**************************/publicclassTest19{publicstaticvoidmain(String[]args){intn=... 查看详情

java基础50道经典练习题(22)——递归求阶乘

【程序22递归求阶乘】题目:利用递归方法求5!。 程序分析:递归公式:fn=fn_1*4! 源码:packagecom.homework.test;/*【程序22递归求阶乘】题目:利用递归方法求5!。程序分析:递归公式:fn=fn_1*4!*/publicclassTest22{publicstaticvoidmain(Str... 查看详情