Double.parseDouble()与Double.valueOf()区别

Double.parseDouble方法是把数字类型的字符串,转换成double类型

Double.valueOf方法是把数字类型的字符串,转换成Double类型

		double a = 0.009;
		String b = "1993";
		
		double parseDouble = Double.parseDouble(b);
		System.out.println(parseDouble);
		Double valueOf = Double.valueOf(a); 
		Double valueOf2 = Double.valueOf(b); //1993.0
		System.out.println(valueOf);//0.009
		System.out.println(valueOf2);//1993.0

结果是:

1993.0
0.009
1993.0

可以看出大体是没有任何区别,就是返回值的类型区别!


Double.parseDouble()方法的源码:

public static double parseDouble(String s) throws NumberFormatException {
        return FloatingDecimal.readJavaFormatString(s).doubleValue();
}

Double.valueOf()方法的源码:

  public static Double valueOf(String s) throws NumberFormatException {
	      return new Double(FloatingDecimal.readJavaFormatString(s).doubleValue());
  }

valueOf方法在返回的时候new Double(),所以返回的是Double。

  • 27
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
南京工程学院 实 验 报 告 课程名称 JAVA基础 实验项目名称 图形用户界面设计 实验学生班级 实验学生姓名 学    号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字 年 月 日 实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等 多种布局方式,掌握窗口菜单和快捷菜单设计方式。 理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事 件的Java图形用户界面。 熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新 的税收政策,以下为截图: 因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500) tax=(wage-3500)*0.25-1005; if(wage>38500&&wage<=58500) tax=(wage-3500)*0.3-2755; if(wage>58500&&wage<=83500) tax=(wage-3500)*0.35-5505; if(wage>83500) tax=(wage-3500)*0.45-13505; text.setText(""+tax); } } 以上算法是根据税率表设计的,具体为: 我国规定个人收入在3500元起征个人所得税,分了多个阶段: 3500以下:不收税 3500以上到5000以下部分:3% 5000以上到8000以下部分:10% 8000以上到以下部分:20% 125000以上到385000以下部分:25% 385000以上到585000以下部分:30% 585000以上到835000以下部分:35% 83500以上:45% 首先算出每个阶段的速扣数,然后用此公式: 应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数。 然后就得出以上算法。 四、实验原始纪录(源程序、数据结构等) import java.awt.*; import java.awt.event.*; import javax.swing.*; public class WageJFrame extends JFrame implements ActionListener { private JTable table;//表格 private Button button_b;//按钮 private Object datas[][];//数据 String titles[];//标题(为空) private JTextField text;//个人所得税 private JTextField text_wage;//输入的工资 public WageJFrame() { super("计算个人所得税"); Dimension dim=getToolkit().getScreenSize();//获得屏幕分辨率 this.setBounds(dim.width/4,dim.height/4,dim.width/2,dim.height/2);//设置窗口 大小 this.setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口 this.datas=new Object[8][4];//设置表格长宽 JLabel label=new JLabel("工资");//"工资"标签 text_wage=new JTextField("5000",7);//默认工资 JPanel jpane1=new JPanel();//面板 jpane1.add(label);//把标签加入面板中 jpane1.add(text_wage);//把输入工资的文本框加入面板中 this.getContentPane(
实验报告 实验中心(室): 计算机工程实验教学中心 实验分室: xxxx 实验课程: Android应用 实验名称: Android计算器实验 专业: xxxxxx 年级: xxx级 姓名: xxxxx 学号: xxxxxxxxx 日期: xxxxxx 1. 实验目的 1. 熟悉按钮(Button)的监听和使用; 2. 用Eclipse和Java开发一个计算器,具有"+""-""*""/"功能并在模拟器上运行; 2. 实验环境 Android开发平台 三.实验内容 1、在eclipse中创建一个新的Android Application Project 输入java代码如下: public class MainActivity extends ActionBarActivity { EditText editText1; double num1 = 0,num2 = 0; String temp = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText1 = (EditText) findViewById(R.id.editText2); } public void butOnClick(View v){ int id = v.getId(); String str = editText1.getText().toString().trim(); switch (id) { case R.id.button1: editText1.setText(str + "7"); break; case R.id.button2: editText1.setText(str + "8"); break; case R.id.button3: editText1.setText(str + "9"); break; case R.id.button4: editText1.setText(str + "*"); break; case R.id.button5: editText1.setText(str + "4"); break; case R.id.button6: editText1.setText(str + "5"); break; case R.id.button7: editText1.setText(str + "6"); break; case R.id.button8: num1=Double.parseDouble(str); temp="-"; editText1.setText(" "); break; case R.id.button9: editText1.setText(str + "3"); break; case R.id.button10: editText1.setText(str + "2"); break; case R.id.button11: editText1.setText(str + "1"); break; case R.id.button12: num1=Double.parseDouble(str); temp="+"; editText1.setText(" "); break; case R.id.button16: Double tempres = 0.0; num2 = Double.parseDouble(str); if(temp.equals("+")) { tempres = Double.valueOf(num1 + num2); } if(temp.equals("-")) { tempres = Double.valueOf(num1 - num2); } String result = tempres.toString(); if(temp.equals("*")) { tempres = Double.valueOf(num1 * num2); } editText1.setText(result); if(temp.equals("/")) { tempres = Double.valueOf(num1 / num2); } break; case R.id.button15: editText1.setText(str + "/"); break; case R.id.button13: editText1.setText(str + "0"); break; case R.id.button14:
java语言程序设计课后答案 作业参考答案 习题一 4、如何建立和运行Java程序, 首先启动文本编辑器,如记事本、UltraEdit等,编辑程序代码,并以.Java作为文件 扩展名保存程序源代码;然后进入dos环境利用javac编译源程序,生成扩展名为.class的 字节码文件;再利用命令java运行字节码文件,得到程序的运行结果。在集成开发环境J builder、Eclipse下,可以完成程序的编辑、编译、调试及运行等所有任务。 5、 public class LikeJava { public static void main(String [] args) { System.out.println("I Like Java Very much!"); } } 习题二 5、 (1) 45 (2) false (3) 14 (4) 14 (5),6 (6) true (7) 12 9、 public class Volume { public static void main(String [] args) { double r=0,v=0; r=double.parseDouble(args[0]); v=4*3.14159/3*r*r*r; System.out.println("球体积为:"+v); } } 习题三 8、 public class Factorials { public static void main(String args[]) { int i, j; long s=0, k; i=1; do //外循环开始 { k = 1; j=1; do{//内循环开始 k = k * j; //内循环体 j++; }while(j<=i);//内循环结束 System.out.println(i + "!=" + k); s = s + k; i++; }while(i<=20); //外循环结束 System.out.println("Total sum=" + s); } } 10、 public class Num { public static void main(String[]args) { int i,j,k,n; for (n=100;n<1000;n++) { i=n/100; j=(n-i*100)/10; k=n%10; if (i*i*i+j*j*j+k*k*k==n) System.out.print(n+" "); } } } 习题四 5、 import java.util.Scanner; class Factor{ long fac(int m) {if(m==0""m==1)return 1; else return m*fac(m-1); } public static void main(String [] args) {int i,n; long sum=0; String s=""; Scanner input=new Scanner(System.in); System.out.print("Please input n: "); n=input.nextInt(); Factor f=new Factor(); for(i=1;i<=n;i++) { System.out.println(f.fac(i)); sum=sum+f.fac(i); s=s+i+"!+"; } System.out.println(s.substring(0,s.length()-1)+"="+sum); } } 习题五 2、 import java.io.*; public class YangHuiOk { public static void main (String args[]) throws IOException { int max,a[][],i,j; char x; System.out.print("请输入杨辉三角要显示的行数: "); x=(char)System.in.read(); max = Integer.parseInt(String.valueOf(x)); a=new int[max][]; for (i=0;i<max;i++) { a[i]=new int[i+1]; } a[0][0]=1; for (i=1;i<max;i++) { a[i][0]=1; a[i][a[i].length-1]=1; for (j=1;j<a[i].length-1;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<max;i++) { //for(j=0;j<=max-i;j++) System.out
武汉理工java实验2,大家课学习参考package sun; import java.awt.*; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.StringTokenizer; //导入 public class Test1 extends JFrame {//继承JFrame private final JPanel contentPane;//私有类,其他类不能享用 private final JTextPane numberField;//容器类 private final JTextField sumyun;//创建对象 private final JTextField aveField; public static void main(final String[] args) {//主函数 EventQueue.invokeLater(new Runnable() {//使事件派发线程上的可运行对象排队。当可运行对象排在事件派发队列的队首时,就调用其run方法 public void run() { try { final Test1 frame = new Test1();//捕获异常 frame.setVisible(true); } catch (final Exception e) { e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因 } } }); } public Test1() { super("第二次实验:和与平均值"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使用 System exit 方法退出应用程序。仅在应用程序中使用。 setBounds(100, 100, 400, 300);//setBounds(x,y,width,height):x:组件在容器X轴上的起点;y:组件在容器Y轴上的起点;width:组件的长度;height:组件的高度。 contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(10, 10, 10, 10)); setContentPane(contentPane);//给窗体加个panel作为内容面板 contentPane.setLayout(null); numberField = new JTextPane(); numberField.addKeyListener(new KeyAdapter() {//键盘事件监听者 public void keyTyped(final KeyEvent e) { double sum = 0,avg = 0; switch(e.getKeyChar()) { case KeyEvent.VK_SPACE: //分隔符为空格 case KeyEvent.VK_COMMA: //分隔符为英文逗号 case KeyEvent.VK_ENTER: //分隔符为回车 final String str=numberField.getText(); final StringTokenizer analyze = new StringTokenizer(str," ,\n");//StringTokenizer 用来分割字符串,用,/n分割 final int allnum=analyze.countTokens(); for(int i =0;i<allnum;i++) { final String temp = analyze.nextToken(); //nextToken() 用于返回下一个匹配的字段 sum = sum+Double.parseDouble(temp); } if(allnum>0) { avg = sum/allnum; }else { avg = 0; } sumyun.setText(Double.toString(sum)); aveField.setText(Double.toString(avg)); } } }); /*numberField.setBounds(15, 15, 350, 100); contentPane.add(numberField); final JLabel label = new JLabel("和 值"); label.setBounds(60, 140, 70, 20); contentPane.add(label); final JLabel label_1 = new JLabel("平均值"); label_1.setBounds(60, 180, 70, 20); contentPane.add(label_1);*/ sumyun = new JTextField(); sumyun.setBounds(130, 140, 230, 25); contentPane.add(sumyun); sumyun.setColumns(10); aveField = new JTextField(); aveField.setBounds(130, 180, 230, 25); contentPane.add(aveField); aveField.setColumns(10); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山鬼谣me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值