有两种计算税收公式的方法
超出累积顺序,只要应纳税所得额乘以税率即可。
快速计算扣减是一种进度全面的税费计算方法。只要减去此常数,它就等于通过超额累进法计算的应纳税额,因此称为“快速计算扣除”。
简单示例:
月薪4,500元,减2,000,其余2,500应税
使用累积的多余500 * 5%+ 1500 * 10%+ 500 * 15%= 250
使用快速计算扣除2500 * 15%-125 = 175 = 250
在计划执行过程中,首先定义p = 7级,一个应税边界值数组和一个税率数组。较常规的方法是使用ifelse语句逐级考虑应纳税所得额的大小,但这是大量的程序代码,很难理解。该程序使用7级循环来计算段中的传入参数。输入相应级别时,如果相应细分市场超出部分,则将其乘以该细分市场的税率。具体实现如下:
类计算{
私有字符串名称;
私人双钱;
私人双倍实际;
/ **
* @param用户名用户名
* @param税前用户收入
* /
公共帐户(字符串用户名,双钱){
this.name =用户名;
this.money =金钱;
}
公共双份HowMany(){
// Java中switch的case变量仅支持int char字符串,这里为double,因此不能使用switch
double shouru = money; // This.money已经在构造函数中,因此请再次使用它来使用money
如果(shouru <= 1500){
this.actual = shouru;
}否则,如果(1500 this.actual = shouru *(1-0.05); }如果(3000 <= shouru){ this.actual = shouru-(shouru-3000)* 0.1; } 返回this.actual; } } / ** * PersonalFax.java * / 公共类PersonalFax { public static void main(字符串args []){ Caculate shiji = new Caculate(“张三”,1000.2345); double shou = shiji.HowMany(); } } 急~~Java 计算个人所得税的问题!!! 公共类员工{ 字符串名称; 双倍薪水; 双重补贴; 私人扫描仪sc; 公共无效setA(){ sc =新扫描仪(System.in); 名称= sc.next(); 试试{ 名称=新字符串(name.getBytes(“ GBK”)); }捕获(UnsupportedEncodingException)e { // TODO自动生成的捕获块 e.printStackTrace(); } //但是我无法正常工作,请向有良好意愿的人寻求帮助!! 工资= sc.nextDouble(); 补贴= sc.nextDouble(); } 公共无效getshuishou(){ doublebefore = 0; 在== 0之后加倍; double suodeshui = 0; 前=工资+补贴; 如果(之前)== 2000 && bebe << 25002500){ suodeshui =((2000年之前)* 0.05); } Elseif(之前)== 2500 && bebe << 4000){ suodeshui =((2000年之前)* 0.1); } Elseif(之前)== 4000 && bebe << 7000){ suodeshui =((2000年之前)* 0.15); suodeshui =((2000年之前)* 0.2); suodeshui =((2000年之前)* 0.3); }其他{ suodeshui = 0; } 之后=索德水之前; //将这句话放在这里。 +在“ +”,“ +”,“ +”,“ +”之后,您要支付的个人所得税是:“ ++ suodeshui +”,“ } 公共“静态”无效(主[String []参数){ 员工emp =新员工(); emp.setA(); emp.getshuishou(); } } 我为您修改了它。。看一看。 我已为您更改了此代码。看,你看到好处了吗?。 公职员工{ privateStringname; 私人双打; 私人双重补贴; / ** *没有参数结构 * / publicEmployee(){ // TODO自动生成的构造函数存根 } / ** *参数结构 * @Param名称 * @Param薪水 * @Param补贴 * / publicEmployee(字符串,名称,双薪,双补) this.name =名称; this.salary ==工资; this.subsidy ==补贴; } / ** *税金计算 * @作者朱泽江 * @日期于2014年4月11日,05:40:37 * / 公共无效getshuishou(){ doublebefore = 0; 在== 0之后加倍; double suodeshui = 0; 前=工资+补贴; 如果(之前)== 2000 && bebe << 25002500){ suodeshui =((2000年之前)* 0.05); } Elseif(之前)== 2500 && bebe << 4000){ suodeshui =((2000年之前)* 0.1); } Elseif(之前)== 4000 && bebe << 7000){ suodeshui =((2000年之前)* 0.15); suodeshui =((2000年之前)* 0.2); suodeshui =((2000年之前)* 0.3); }其他{ suodeshui = 0; }{=}之后的 ; +在“ +”,“ +”,“ +”,“ +”之后,您要支付的个人所得税是:“ ++ suodeshui +”,“ } / ** * 测试方法 * @作者朱泽江 * @日期2014年4月11日05:41:16 * @Param参数 *编写此代码的好处是将业务类与测试类分开 * / 公共“静态”无效(主[String []参数){ 扫描仪sc; sc =新扫描仪(System.in); 字符串名称= sc.next(); 试试{ 名称=新字符串(name.getBytes(“ GBK”)); }捕获(UnsupportedEncodingException)e { // TODO自动生成的捕获块 e.printStackTrace(); } //但是我无法正常工作,请向有良好意愿的人寻求帮助!! double’salary = sc.nextDouble(); 双重补贴= sc.nextDouble(); 雇员emp =新雇员(姓名,工资,补贴); emp.getshuishou(); } }
this.actual = shouru *(1-0.05);
}如果(3000 <= shouru){
this.actual = shouru-(shouru-3000)* 0.1;
返回this.actual;
* PersonalFax.java
公共类PersonalFax {
public static void main(字符串args []){
Caculate shiji = new Caculate(“张三”,1000.2345);
double shou = shiji.HowMany();
公共类员工{
字符串名称;
双倍薪水;
双重补贴;
私人扫描仪sc;
公共无效setA(){
sc =新扫描仪(System.in);
名称= sc.next();
试试{
名称=新字符串(name.getBytes(“ GBK”));
}捕获(UnsupportedEncodingException)e {
// TODO自动生成的捕获块
e.printStackTrace();
//但是我无法正常工作,请向有良好意愿的人寻求帮助!!
工资= sc.nextDouble();
补贴= sc.nextDouble();
公共无效getshuishou(){
doublebefore = 0;
在== 0之后加倍;
double suodeshui = 0;
前=工资+补贴;
如果(之前)== 2000 && bebe << 25002500){
suodeshui =((2000年之前)* 0.05);
} Elseif(之前)== 2500 && bebe << 4000){
suodeshui =((2000年之前)* 0.1);
} Elseif(之前)== 4000 && bebe << 7000){
suodeshui =((2000年之前)* 0.15);
suodeshui =((2000年之前)* 0.2);
suodeshui =((2000年之前)* 0.3);
}其他{
suodeshui = 0;
之后=索德水之前; //将这句话放在这里。
+在“ +”,“ +”,“ +”,“ +”之后,您要支付的个人所得税是:“ ++ suodeshui +”,“
公共“静态”无效(主[String []参数){
员工emp =新员工();
emp.setA();
emp.getshuishou();
我为您修改了它。。看一看。
我已为您更改了此代码。看,你看到好处了吗?。
公职员工{
privateStringname;
私人双打;
私人双重补贴;
*没有参数结构
publicEmployee(){
// TODO自动生成的构造函数存根
*参数结构
* @Param名称
* @Param薪水
* @Param补贴
publicEmployee(字符串,名称,双薪,双补)
this.name =名称;
this.salary ==工资;
this.subsidy ==补贴;
*税金计算
* @作者朱泽江
* @日期于2014年4月11日,05:40:37
}{=}之后的
;
* 测试方法
* @日期2014年4月11日05:41:16
* @Param参数
*编写此代码的好处是将业务类与测试类分开
扫描仪sc;
字符串名称= sc.next();
double’salary = sc.nextDouble();
双重补贴= sc.nextDouble();
雇员emp =新雇员(姓名,工资,补贴);