HW2.11


控制台:
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的更多相关文章
- 地区sql
/*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...
- WinForm 天猫2013双11自动抢红包【源码下载】
1. 正确获取红包流程 2. 软件介绍 2.1 效果图: 2.2 功能介绍 2.2.1 账号登录 页面开始时,会载入这个网站:https://login.taobao.com/member/login ...
- C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)
#include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...
- CSS垂直居中的11种实现方式
今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...
- C++ 11 多线程--线程管理
说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段.并行是指两个或多个独立的操作同时进行.注意这里是同时进行,区别于并发,在一个时间段内执行多个操作.在单核时代,多个线程是并 ...
- CSharpGL(11)用C#直接编写GLSL程序
CSharpGL(11)用C#直接编写GLSL程序 +BIT祝威+悄悄在此留下版了个权的信息说: 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharp ...
- ABP(现代ASP.NET样板开发框架)系列之11、ABP领域层——仓储(Repositories)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Proj ...
- C++11 shared_ptr 智能指针 的使用,避免内存泄露
多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...
- C++11网络编程
Handy是一个简洁优雅的C++11网络库,适用于linux与Mac平台.十行代码即可完成一个完整的网络服务器. 下面是echo服务器的代码: #include <handy/handy.h&g ...
随机推荐
- mysql 导出导入数据库中所有数据
导出数据库所有数据 >mysqldump -uroot -proot -all hzgajzyz>e:/hzgajzyz.sql 导入数据库所有数据 >source e:/hzgaj ...
- Linux下STM32开发环境的搭建
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...
- 给JavaScript初学者的24条最佳实践(转:http://www.cnblogs.com/yanhaijing/p/3465237.html)
作为“30 HTML和CSS最佳实践”的后续,本周,我们将回顾JavaScript的知识 !如果你看完了下面的内容,请务必让我们知道你掌握的小技巧! 1.使用 === 代替 == JavaScript ...
- 1090-Rock, Paper, Scissors
描述 Rock, Paper, Scissors is a classic hand game for two people. Each participant holds out either a ...
- POJ1177+线段树+扫描线
思路: 以y的值进行离散化 根据x的值 对每一条y轴边进行处理,如果是"左边"则插入,是"右边"则删除. /* 扫描线+线段树+离散化 求多个矩形的周长 */ ...
- 忘记commit的一次教训
由于业务需求,已经上线的系统新增加了一些需求,其中一个需求是,从一个SQLSERVER数据库导入数据到生产的ORCLE数据库, 由于我的失误导致系统上线后 生产的Oracle数据没有导入成功,但是在本 ...
- 自定义NavigationView's item 的高度
http://stackoverflow.com/questions/31204320/how-can-i-change-the-navigationviews-item-text-size 自定义s ...
- 《BackboneJS框架的技巧及模式》(4)完结篇
<BackboneJS框架的技巧及模式>(4)完结篇 本文紧接第二部分:<BackboneJS框架的技巧及模式(3)> 作者:chszs,转载需注明.博客主页:http://b ...
- linux设备驱动那点事儿之平台设备理论篇
一:Platform总线 1.1概述 一个现实的linux设备驱动通常需要挂接在一种总线上,对于本身依附于PCI,USB,IIC,SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SOC系统中 ...
- 【HDOJ】1018 Big Number
数学题,还是使用log避免大数,但是不要忘记需要+1,因为0也是1位,log(100)= 2,但却是3位. #include <stdio.h> #include <math.h&g ...