控制台:

 import java.util.Scanner;

 public class Solution
 {
     public static void main(String[] args)
     {
         Scanner input = new Scanner(System.in);

         System.out.print("Enter employee's name: ");
         String name = input.nextLine();

         System.out.print("Enter number of hours worked in a week: ");
         int hoursWorked = input.nextInt();

         System.out.print("Enter hourly pay rate: ");
         double hourlyPayRate = input.nextDouble();

         System.out.print("Enter federal tax withholding rate: ");
         double federalTax = input.nextDouble();

         System.out.print("Enter state tax withholding rate: ");
         double stateTax = input.nextDouble();

         input.close();

         double grossPay = hoursWorked * hourlyPayRate;
         double federalTaxPay = grossPay * federalTax;
         double stateTaxPay = grossPay * stateTax;
         double totalDeduction = federalTaxPay + stateTaxPay;
         double netPay = grossPay - totalDeduction;

         System.out.println("Employee Name: " + name);
         System.out.println("Hours Worked: " + hoursWorked);
         System.out.println("Pay Rate: " + "$" + hourlyPayRate);
         System.out.println("Gross Pay: " + "$" + grossPay);
         System.out.println("Deductions: " + "\n" +
             "\t" + "Federal Withholding (" + federalTax + "): " + "$" + federalTaxPay +
             "\t" + "State Withholding(" + stateTax + "): " + "$" + stateTaxPay +
             "\t" + "Total Deduction: " + "$" + totalDeduction);
         System.out.println("Net Pay: " + "$" + netPay);
     }
 }

对话框:

 import javax.swing.JOptionPane;

 public class Solution
 {
     public static void main(String[] args)
     {
         String name = JOptionPane.showInputDialog(null, "Enter employee's name: ",
             "Employee Name", JOptionPane.QUESTION_MESSAGE);

         String hoursWorkedString = JOptionPane.showInputDialog(null, "Enter number of hours worked in a week: ",
             "Work Hour", JOptionPane.QUESTION_MESSAGE);
         int hoursWorked = Integer.parseInt(hoursWorkedString);

         String hourlyPayRateString = JOptionPane.showInputDialog(null, "Enter hourly pay rate: ",
             "Hourly Pay Rate", JOptionPane.QUESTION_MESSAGE);
         double hourlyPayRate = Double.parseDouble(hourlyPayRateString);

         String federalTaxString = JOptionPane.showInputDialog(null, "Enter federal tax withholding rate: ",
             "Federal Tax", JOptionPane.QUESTION_MESSAGE);
         double federalTax = Double.parseDouble(federalTaxString);

         String stateTaxString = JOptionPane.showInputDialog(null, "Enter state tax withholding rate: ",
             "State Tax", JOptionPane.QUESTION_MESSAGE);
         double stateTax = Double.parseDouble(stateTaxString);

         double grossPay = hoursWorked * hourlyPayRate;
         double federalTaxPay = grossPay * federalTax;
         double stateTaxPay = grossPay * stateTax;
         double totalDeduction = federalTaxPay + stateTaxPay;
         double netPay = grossPay - totalDeduction;

         String output = "Employee Name: " + name + "\n" +
             "Hours Worked: " + hoursWorked + "\n" +
             "Pay Rate: " + "$" + hourlyPayRate + "\n" +
             "Gross Pay: " + "$" + grossPay + "\n" +
             "Deductions: " + "\n" +
             "\t" + "Federal Withholding (" + federalTax + "): " + "$" + federalTaxPay + "\n" +
             "\t" + "State Withholding(" + stateTax + "): " + "$" + stateTaxPay + "\n" +
             "\t" + "Total Deduction: " + "$" + totalDeduction + "\n" +
             "Net Pay: " + "$" + netPay;

         JOptionPane.showMessageDialog(null, output);
     }
 }

HW2.11的更多相关文章

  1. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  2. WinForm 天猫2013双11自动抢红包【源码下载】

    1. 正确获取红包流程 2. 软件介绍 2.1 效果图: 2.2 功能介绍 2.2.1 账号登录 页面开始时,会载入这个网站:https://login.taobao.com/member/login ...

  3. C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)

    #include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...

  4. CSS垂直居中的11种实现方式

    今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...

  5. C++ 11 多线程--线程管理

    说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段.并行是指两个或多个独立的操作同时进行.注意这里是同时进行,区别于并发,在一个时间段内执行多个操作.在单核时代,多个线程是并 ...

  6. CSharpGL(11)用C#直接编写GLSL程序

    CSharpGL(11)用C#直接编写GLSL程序 +BIT祝威+悄悄在此留下版了个权的信息说: 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharp ...

  7. ABP(现代ASP.NET样板开发框架)系列之11、ABP领域层——仓储(Repositories)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Proj ...

  8. C++11 shared_ptr 智能指针 的使用,避免内存泄露

    多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...

  9. C++11网络编程

    Handy是一个简洁优雅的C++11网络库,适用于linux与Mac平台.十行代码即可完成一个完整的网络服务器. 下面是echo服务器的代码: #include <handy/handy.h&g ...

随机推荐

  1. mysql 导出导入数据库中所有数据

    导出数据库所有数据 >mysqldump -uroot -proot -all hzgajzyz>e:/hzgajzyz.sql 导入数据库所有数据 >source e:/hzgaj ...

  2. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  3. 给JavaScript初学者的24条最佳实践(转:http://www.cnblogs.com/yanhaijing/p/3465237.html)

    作为“30 HTML和CSS最佳实践”的后续,本周,我们将回顾JavaScript的知识 !如果你看完了下面的内容,请务必让我们知道你掌握的小技巧! 1.使用 === 代替 == JavaScript ...

  4. 1090-Rock, Paper, Scissors

    描述 Rock, Paper, Scissors is a classic hand game for two people. Each participant holds out either a ...

  5. POJ1177+线段树+扫描线

    思路: 以y的值进行离散化 根据x的值 对每一条y轴边进行处理,如果是"左边"则插入,是"右边"则删除. /* 扫描线+线段树+离散化 求多个矩形的周长 */ ...

  6. 忘记commit的一次教训

    由于业务需求,已经上线的系统新增加了一些需求,其中一个需求是,从一个SQLSERVER数据库导入数据到生产的ORCLE数据库, 由于我的失误导致系统上线后 生产的Oracle数据没有导入成功,但是在本 ...

  7. 自定义NavigationView's item 的高度

    http://stackoverflow.com/questions/31204320/how-can-i-change-the-navigationviews-item-text-size 自定义s ...

  8. 《BackboneJS框架的技巧及模式》(4)完结篇

    <BackboneJS框架的技巧及模式>(4)完结篇 本文紧接第二部分:<BackboneJS框架的技巧及模式(3)> 作者:chszs,转载需注明.博客主页:http://b ...

  9. linux设备驱动那点事儿之平台设备理论篇

    一:Platform总线 1.1概述 一个现实的linux设备驱动通常需要挂接在一种总线上,对于本身依附于PCI,USB,IIC,SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SOC系统中 ...

  10. 【HDOJ】1018 Big Number

    数学题,还是使用log避免大数,但是不要忘记需要+1,因为0也是1位,log(100)= 2,但却是3位. #include <stdio.h> #include <math.h&g ...