2 qq 33547239 qq_33547239 于 2016.03.20 02:07 提问

一个简单的Java 计算问题

输出结果总是0,大牛们,可不可以告诉我错在哪里了!代码如下
package HelloWorld;import java.util.Scanner;public class Tax { public static void main(String[] args) { double a = 0.0,b=0.0;//定义工资为a,个人所得税为b; System.out.println("请输入您的月工资,我们将严密计算您的个人所得税!"); Scanner sc=new Scanner (System.in); a=sc.nextDouble(); String str = ""; switch (str) { case "1": if(3500.0<=a&&a<=5000.0){ }else b=(a-3500.0)*0.03; System.out.println("您每月应缴纳个人所得税为:"+b); break; case "2": if (5000.0<=a&&a<=8000.0){ }else b=(5000.0-3500.0)*0.03+(a-5000.0)*0.10; System.out.println("您每月应缴纳个人所得税为:"+b); break; case "3": if (a>=8000.0){ }else b=(5000-3500)*0.03+(8000-5000)*0.10%+(a-8000)*0.20; System.out.println("您每月应缴纳个人所得税为:"+b); break; default: System.out.println("您每月应缴纳个人所得税为:0"); } }}
/*程序要求:计算出个人的所得税的应缴纳的值,月工资低于3500,不用缴纳个人所得税; * 个人所得税计算公式:Tax(3500~5000)=(收入-3500)*3%;Tax(5000~8000)=(5000-3500)*3%+(收入-5000)*10%; * Tax(>8000)=(5000-3500)*3%+(8000——5000)*10%+(收入-8000)*20%; *程序思路:使用switch结构,对应三种情况; */

5个回答

caozhy
caozhy   Ds   Rxr 2016.03.20 06:59
已采纳

switch case根本用不到,去掉,保留你的if判断即可,str也用不到。

haifeng308
haifeng308   2016.03.20 05:08

你的str没赋值,默认了空字符串,直走最后的default

error395
error395   2016.03.20 09:07

自己跟着程序手动运行一遍,你会发现前面输入的a根本没用到,switch里面的是你定义的一个空字符串,另外,
String str = ""; //在内存里分配了一块区域,里面放了一个 "" 空字符串。
String str = null; //在内存里分配了一块区域,里面放了一个 null ;
String str ; //没有在内存里给分配相应的区域,必须要赋值才可以使用。
这三个你要弄清楚。

qq_33547239
qq_33547239 666
2 年多之前 回复
qq_33547239
qq_33547239   2016.03.20 02:26

图片说明图片说明

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.20 09:43

首先,你的switch(str),而str=""初始直接是空字符串,所以直接走入了default分支了,当然就是0了啊。
其次,贴代码时直接贴代码,图片、或者无代码格式的文本很不好阅读啊,如果有人想帮忙测试验证下代码,还得敲代码多麻烦啊。

qq_33547239
qq_33547239 会注意的
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java一些简单的计算题合集(一)
六个java题为一个合集
Java经典习题(3)
11.中国古代算书《张丘建算经》中有一道著名的百鸡问题:公鸡每只值5 文钱,母鸡每只值3 文钱,而3 只小鸡值1 文钱。用100 文钱买100 只鸡,问:这100 只鸡中,公鸡、母鸡和小鸡各有多少只?
学会利用java程序编写简单的加减乘除法运算
package javas;public class Arith_math {public static void main(String[] args) { // TODO Auto-generated method stub int i_x=1; int i_y=2; int i_m=3,i_n=3; int r_m,r_n; float d_x=13.5f
JAVA 一个简单的图形界面计算器
package 计算器; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JTextField;
自己编写的一个java简单的窗口实现两点求园面积
package Circle; public class test { @SuppressWarnings("unused") public static void main(String[] args) { // TODO Auto-generated method stub Getdata data =new Getdata(); } }//主方法 //
java计算题
 Problem Description 一个简单的计算,你需要计算f(m,n),其定义如下: 当m=1时,f(m,n)=n; 当n=1时,f(m,n)=m; 当m>1,n>1时,f(m,n)= f(m-1,n)+ f(m,n-1) Input 第一行包含一个整数T(1 以下T行,其中每组数据有两个整数m,n(1 Output 对每组输入数据,你需要计算出f(m,n),并
简单Java四则运算
自己写的第一个最简单的Java计算器,感觉Java封装的东西实在太多了,你所能想到的它都帮你实现了,写Java程序离不开API文档,熟练使用API文档真的非常重要,就这样一个小程序就许多次查阅API文档,以前写c/c++程序基本所有的功能都是由自己实现,第一次写Java程序感觉有点恶心。
Java中简单的生产者和消费者问题
生产者和消费者问题描述:   仓库初始值为0, 生产者首先生产产品,生产产品后将产品放入仓库,仓库中产品数量变为1, 此时生产者不在生产产品,直到消费者进入仓库消费掉产品后,将仓库产品数量变为0,生产者才继续进行生产。 生产者和消费者问题分析:    仓库是生产者和消费者的公共资源,那么生产者和消费者可以分别看做是一个线程,有着共享资源。生产者和消费者共同访问仓库,但是仓库在同一时间只允许有一
用java编写的一个简单的《个人所得税计算系统》
用java编写的一个简单的《个人所得税计算系统》// 主界面设计 import java.awt.Color; import java.awt.Font; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JFram
简单的抽奖系统实现
java 简单的抽奖思路