JAVA常见算法题(十三)

package com.xiaowu.demo;

/**
 * 企业发放的奖金根据利润提成: 利润(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 WQ
 *
 */
public class Demo13 {
    public static void main(String[] args) {
        money(1000);
    }

    public static void money(double x) {
        double y = 0;
        if (x > 0 && x <= 10) {
            y = x * 0.1;
        } else if (x > 10 && x <= 20) {
            y = 10 * 0.1 + (x - 10) * 0.075;
        } else if (x > 20 && x <= 40) {
            y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05;
        } else if (x > 40 && x <= 60) {
            y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03;
        } else if (x > 60 && x <= 100) {
            y = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015;
        } else if (x > 100) {
            y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01;
        }
        System.out.println("利润为:" + x + "万元。\n应该提取的奖金为: " + y + "万元。");
    }
}
时间: 2024-11-11 03:13:39

JAVA常见算法题(十三)的相关文章

JAVA常见算法题(二十三)

package com.xiaowu.demo; /** * 给一个不多于5位的正整数,要求:①求它是几位数:②逆序打印出各位数字. * * * @author WQ * */ public class Demo23 { public static void main(String[] args) { f(123789); } public static void f(long l) { String s = Long.toString(l); char[] c = s.toCharArray(

JAVA常见算法题(三十三)---求子串在字符串中出现的次数

计算某字符串中子串出现的次数. public static void main(String[] args) { String s1 = "adcdcjncdfbcdcdcd"; String s2 = "cd"; count(s1, s2); } public static void count(String str1, String str2) { int count = 0; if (str1.equals("") || str2.equa

JAVA常见算法题(二十八)

package com.forezp.util; import java.util.Arrays; /** * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列, * 请写出性能最优的算法.<br> * * * * @author Administrator * */ public class ArrayDemo1 { public static void main(String[] args) { int[] a = { 1,3,5,7,9}; int[] b

JAVA常见算法题(五)

package com.xiaowu.demo; /** * 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. * * * @author WQ * */ public class Demo5 { public static void main(String[] args) { score(90); } public static void score(int n) { char s = n >= 90 ? 'A' : (n

JAVA常见算法题(二十七)

题目:给定一个存放整数的数组,请写一个算法,把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. package com.forezp.util; /** * 题目:给定一个存放整数的数组,请写一个算法, * 把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. * * @author Administrator * */ public class ArrayDemo { //判断是否为偶数 public static boolean isEven

JAVA常见算法题(二十九)

package com.forezp.util; import java.util.Scanner; /** * 判断输入的5个字符串的最大长度,并输出 * * * @author Administrator * */ public class StringDemo{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] str =new String[5]; for(int x

JAVA常见算法题(三十)

package com.forezp.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; /** * 一个文本中包含多行字符串,输入长度最长的字符串和最短的字符串<br> * * @author Administrator * */ pu

JAVA常见算法题(二十)

package com.xiaowu.demo; /** * * 打印出如下图案(菱形) * * * * @author WQ * */ public class Demo20 { public static void main(String[] args) { display(5); } public static void display(int h) { for (int i = 0; i < (h + 1) / 2; i++) { for (int j = 0; j < h / 2 -

JAVA常见算法题(二十四)

package com.xiaowu.demo; //一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. public class Demo24 { public static void main(String[] args) { f2(123454321); } // 方法一 public static void f1(int n) { if (n >= 10000 && n < 100000) { String s = String.va