8月20日 Core Java 作业

1,个人所得税计算器:编写程序实现个人所得税的计算,要求输入工资总额和三险一金总额,求出本月应纳个税。
全月应纳税所得额=本月工资总额—三险一金—个税起征点(2000.00)

个人所得税率计算表:
级数    全月应纳税所得额 		税率(%)
 1        不超过500元的 		5
2       超过500元至2,000元的部分 	10
3       超过2,000元至5,000元的部分	15
4       超过5,000元至20,000元的部分 	20
5       超过20,000元至40,000元的部分 	25
6       超过40,000元至60,000元的部分 	30
7       超过60,000元至80,000元的部分 	35
8       超过80,000元至100,000元的部分 40
9       超过100,000元的部分 		45

2,编写程序,将一个整数倒排过来,例如:给定整数:4982,得到的结果:2894。

3,在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:
        *
       ***
      *****
     *******
    *********

4,用二维字符数组保存一首唐诗(五言或七言),每一行代表一句,要求将这首唐诗按照古文的方式输出出来(从右至左,竖行排列)。


5,为某酒店设计一套前台房间管理系统,该系统可以通过在命令行输入命令来为客人办理入住和退房手续。

要求该系统支持通过命令行输入以下命令来进行入住,退房及查询的操作。

search all  :查询所有房间的状态
search ST  :查询所有标准间的状态
in 1202 tangliang  :姓名为tangliang的客人入住1202房间
out 1202:1202房间退房



1.
  
  
  
  
  1. /*
  2.  *  Homework1.java
  3.  *
  4.  *  xapphiron, 08-21-2008
  5.  * 
  6.  *  --------------------------------------------------------------------------------------------------
  7.  *  08-20-2008  Homework 5
  8.  *
  9.  *  个人所得税计算器:编写程序实现个人所得税的计算,要求输入工资总额和三险一金总额,求出本月应纳个税。
  10.  *  全月应纳税所得额=本月工资总额—三险一金—个税起征点(2000.00)
  11.  *
  12.  *  个人所得税率计算表:
  13.  *  级数    全月应纳税所得额      税率(%)
  14.  *  1        不超过500元的       5
  15.  *  2       超过500元至2,000元的部分    10
  16.  *  3       超过2,000元至5,000元的部分  15
  17.  *  4       超过5,000元至20,000元的部分     20
  18.  *  5       超过20,000元至40,000元的部分    25
  19.  *  6       超过40,000元至60,000元的部分    30
  20.  *  7       超过60,000元至80,000元的部分    35
  21.  *  8       超过80,000元至100,000元的部分 40
  22.  *  9       超过100,000元的部分       45
  23.  *  --------------------------------------------------------------------------------------------------
  24.  */
  25. package d0820.Homework;
  26. import java.util.Scanner;
  27. public class Homework1 {
  28.     public static double calcTax(int x) {
  29.         double sum = 0;
  30.         // < 2000
  31.         if (x <= 2000
  32.             return 0;
  33.         else
  34.             x -= 2000;
  35.         // < 500
  36.         if (x <= 500)
  37.             return x * 0.05;
  38.         else {
  39.             sum += 500 * 0.05;
  40.             x -= 500;
  41.         }
  42.             
  43.         // 500 - 2000
  44.         if (x <= 1500)
  45.             return sum + x * 0.1;
  46.         else {
  47.             sum += 1500 * 0.1;
  48.             x -= 1500;
  49.         }
  50.         // 2000 - 5000
  51.         if (x <= 3000)
  52.             return sum + x * 0.15;
  53.         else {
  54.             sum += 3000 * 0.15;
  55.             x -= 3000;
  56.         }
  57.         // 5000 - 20000
  58.         if (x <= 15000)
  59.             return sum + x * 0.2;
  60.         else {
  61.             sum += 15000 * 0.2;
  62.             x -= 15000;
  63.         }
  64.         // 20000 - 40000
  65.         if (x <= 20000)
  66.             return sum + x * 0.25;
  67.         else {
  68.             sum += 20000 * 0.25;
  69.             x -= 20000;
  70.         }
  71.         // 40000 - 60000
  72.         if (x <= 20000)
  73.             return sum + x * 0.3;
  74.         else  {
  75.             sum += 20000 * 0.3;
  76.             x -= 20000;
  77.         }
  78.         // 60000 - 80000
  79.         if (x <= 20000)
  80.             return sum + x * 0.35;
  81.         else {
  82.             sum += 20000 * 0.35;
  83.             x -= 20000;
  84.         }
  85.         // 80000 - 100000
  86.         if (x <= 20000)
  87.             return sum + x * 0.4;
  88.         else {
  89.             sum += 20000 * 0.4;
  90.             x -= 20000;
  91.         }
  92.         return sum + x * 0.45;
  93.     }
  94.     public static void main(String args[]) {
  95.         Scanner sc = new Scanner(System.in);
  96.         int salary;
  97.         int m;
  98.         System.out.print("Input salary: ");
  99.         salary = sc.nextInt();
  100.         System.out.print("Input m: ");
  101.         m = sc.nextInt();
  102.         System.out.println("Tax: " + calcTax(salary - m));   
  103.     }
  104. }
 2.
  
  
  
  
  1. /*
  2.  *  Homework2.java
  3.  *
  4.  *  xapphiron, 08-21-2008
  5.  * 
  6.  *  --------------------------------------------------------------------------------------------------
  7.  *  编写程序,将一个整数倒排过来,例如:给定整数:4982,得到的结果:2894。
  8.  *  --------------------------------------------------------------------------------------------------
  9.  */
  10. package d0820.Homework;
  11. import java.util.Scanner;
  12. public class Homework2 {
  13.     public static void main(String args[]) {
  14.         System.out.print("Input a number: ");
  15.         int x = (new Scanner(System.in)).nextInt();
  16.         int y = 0;;
  17.         while(x > 0) {
  18.             y = y * 10 + x % 10;
  19.             x /= 10;
  20.         }
  21.         System.out.println(y);
  22.     }
  23. }

 

3. 

  
  
  
  
  1. /*
  2.  *  Homework3.java
  3.  *
  4.  *  xapphiron, 08-21-2008
  5.  * 
  6.  *  --------------------------------------------------------------------------------------------------
  7.  *  在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:
  8.  *          *
  9.  *         ***
  10.  *        *****
  11.  *       *******
  12.  *      *********
  13.  *  --------------------------------------------------------------------------------------------------
  14.  */
  15. package d0820.Homework;
  16. import java.util.Scanner;
  17. public class Homework3 {
  18.     public static void main(String args[]) {
  19.         System.out.print("Input n: ");
  20.         int n = (new Scanner(System.in)).nextInt();
  21.         for(int i=0; i<n; i++) {
  22.             for(int j=0; j<n-1-i; j++)
  23.                 System.out.print(" ");
  24.             for(int j=0; j<2*i+1; j++)
  25.                 System.out.print("*");
  26.             System.out.println("");
  27.         }
  28.     }
  29. }

 

4.

  
  
  
  
  1. /*
  2.  *  Homework4.java
  3.  *
  4.  *  xapphiron, 08-21-2008
  5.  * 
  6.  *  --------------------------------------------------------------------------------------------------
  7.  *  用二维字符数组保存一首唐诗(五言或七言),每一行代表一句,要求将这首唐诗按照古文的方式输出出来(从右至左,竖行排列)。
  8.  *  --------------------------------------------------------------------------------------------------
  9.  */
  10. package d0820.Homework;
  11. public class Homework4 {
  12.     public static void main(String args[]) {
  13.         String c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ12";
  14.         char[][] d = new char[10][10];
  15.         int k=0;
  16.         for (int i=0; i<4; i++) 
  17.             for (int j=0; j<7; j++) 
  18.                 d[i][j] = c.charAt(k++);
  19.             
  20.         
  21.         for (int i=0; i<7; i++) {
  22.             for (int j=0; j<4; j++)
  23.                 System.out.print(d[3-j][i]);
  24.             System.out.println();
  25.         }
  26.     }
  27. }
  28.  
 
5.
  
  
  
  
  1. /*
  2.  *  Homework5.java
  3.  *
  4.  *  xapphiron, 08-21-2008
  5.  *
  6.  *  --------------------------------------------------------------------------------------------------
  7.  *  08-20-2008  Homework 5
  8.  *
  9.  *  为某酒店设计一套前台房间管理系统,该系统可以通过在命令行输入命令来为客人办理入住和退房手续。
  10.  *
  11.  *  要求该系统支持通过命令行输入以下命令来进行入住,退房及查询的操作。
  12.  *
  13.  *  search all  :查询所有房间的状态
  14.  *  search ST  :查询所有标准间的状态
  15.  *  in 1202 tangliang  :姓名为tangliang的客人入住1202房间
  16.  *  out 1202:1202房间退房
  17.  *  --------------------------------------------------------------------------------------------------
  18.  */
  19. package d0820.Homework;
  20. /**
  21.  * The main and only class for Homework 5.
  22.  */
  23. public class Homework5 {
  24.     /**
  25.      *  Room Numbers.
  26.      */
  27.     static String[] roomNums = new String[100];
  28.     /**
  29.      *  Room Status. Empty string for empty room. Non empty string for person's name in the room.
  30.      */
  31.     static String[] roomStatus = new String[100];
  32.     /**
  33.      *  Whether the room is standard room.
  34.      */
  35.     static boolean[] isST = new boolean[100];
  36.     /**
  37.      *  Initialize room numbers, room status and set whether the room is standard room.
  38.      */
  39.     static void initialize() {
  40.         for (int i=0; i<roomNums.length; i++) {
  41.             roomNums[i] = ""+i;
  42.             roomStatus[i] = "";
  43.             isST[i] = (i%2==0);
  44.         }
  45.     }
  46.     /**
  47.      * Get the index of a room with room number specified.
  48.      *
  49.      * @param   roomNum
  50.      *          Room number.
  51.      */
  52.     static int getRoomIndex(String roomNum) {
  53.         for (int i=0; i<roomNums.length; i++) 
  54.             if (roomNums[i].equals(roomNum.toString()))
  55.                 return i;
  56.         return -1;
  57.     }
  58.     /**
  59.      * Display all rooms' status.
  60.      */
  61.     static void searchAll() {
  62.         for (int i=0; i<roomNums.length; i++)
  63.             System.out.println("Room " + roomNums[i] + " : " + 
  64.                 ((roomStatus[i].equals(""))?("Empty"):(roomStatus[i])));
  65.     }
  66.     /**
  67.      * Display all standard rooms' status.
  68.      */
  69.     static void searchST() {
  70.         for (int i=0; i<roomNums.length; i++)
  71.             if (isST[i])
  72.                 System.out.println("Room " + roomNums[i] + " : " + 
  73.                     ((roomStatus[i].equals(""))?("Empty"):(roomStatus[i])));
  74.     }
  75.     /**
  76.      * Set a room's status.
  77.      *
  78.      * @param   room
  79.      *          Room number.
  80.      * @param   name
  81.      *          Name of person in specified name.   
  82.      */
  83.     static void in(String room, String name) {
  84.         int r = getRoomIndex(room);
  85.         if (r == -1) {
  86.             System.out.println("Room not found.");
  87.             return;
  88.         }
  89.         roomStatus[r] = name;
  90.     }
  91.     /**
  92.      * Set a room's status.
  93.      *
  94.      * @param   room
  95.      *          Room number.
  96.      */
  97.     static void out(String room) {
  98.         int r = getRoomIndex(room);
  99.         if (r == -1) {
  100.             System.out.println("Room not found.");
  101.             return;
  102.         }
  103.         roomStatus[r] = "";
  104.     }
  105.     /**
  106.      * Main entry of Homework5.
  107.      */
  108.     public static void main(String[] args) {
  109.         // Initialize.
  110.         initialize();
  111.         // Get and process command until the command is "quit".
  112.         String cmd;
  113.         System.out.print("cmd: ");
  114.         while(!(cmd=System.console().readLine().trim()).equalsIgnoreCase("quit")) {
  115.             if (cmd.equalsIgnoreCase("search all")) {
  116.                 searchAll();
  117.             }
  118.             else if (cmd.equalsIgnoreCase("search st")) {
  119.                 searchST();
  120.             }
  121.             else if (cmd.substring(0,2).equalsIgnoreCase("in")) {
  122.                 String[] p = cmd.split(" ");
  123.                 in(p[1], p[2]);
  124.             }
  125.             else if (cmd.substring(0,3).equalsIgnoreCase("out")) {
  126.                 String[] p = cmd.split(" ");
  127.                 out(p[1]);
  128.             }
  129.             else {
  130.                 System.out.println("Invalid command");
  131.             }
  132.             System.out.print("cmd: ");
  133.         }
  134.     }
  135. }

你可能感兴趣的:(java,String,cmd,homework,search,作业)