题目:完毕这种方法的代码实现 public static String round (String arg1, int arg2)

參数 arg1:表示等待被处理的数据:如:"100.286"

參数 arg2:处理后保留的个数位数:如:2

返回值:对arg1保留arg2位小数位数而且四舍五入后的结果值。如:“100.29”

要求不能使用JDK中的数值类Class的现有四舍五入方法。

实现:

public static String round(String arg1, int arg2) {
try{
double arg1Value = Double.parseDouble(arg1);
}catch (Exception e) {
return null;
} if(arg2 <= 0){
            return null;
        }  if(arg1.indexOf(".")<0){
return arg1;
} int pointPos = arg1.indexOf(".")+1;
if(pointPos+arg2+1>arg1.length()){
return arg1;
} int value1 = Integer.parseInt(arg1.substring(pointPos+arg2, pointPos+arg2+1));
System.out.println(value1);
if(value1<5){
return arg1.substring(0, pointPos+arg2);
}else{
double value2 = Double.parseDouble(arg1.substring(0, pointPos+arg2));
if(value2<0){
value2=value2-Math.pow(0.1, arg2);
}else {
value2=value2+Math.pow(0.1, arg2);
} return String.valueOf(value2);
}
}

对于题目中给出的样例进行測试

System.out.println(round("100.286", 2));  

执行结果:100.29

对于负数进行測试

System.out.println(round("-100.286", 2));  

执行结果:-100.29

对于非数值字符串进行測试

System.out.println(round("a10b0.286", 2));  

执行结果:null

总结

该方法是对java中Math类下的round方法的重写,可能有不完备的地方或者有错误的地方,希望各位大牛能指教,望大牛能给出好的建议,先谢啦。

Java重写round()方法的更多相关文章

  1. java重写equals方法

    @Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...

  2. java重写equals方法需要注意的几点

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  3. Java重写equals方法(重点讲解)

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  4. java重写toString()方法

    toString()方法是Object类的方法,调用toString()会返回对象的描述信息. 1)为什么重写toString()方法呢? 如果不重写,直接调用Object类的toString()方法 ...

  5. java重写toString方法

    在输出对象属性时,重写toString按照你希望的输出形式重写 object类里的toString只是把字符串的直接打印,数字的要转化成字符再打印,而对象,则直接打印该对象的hash码.所以当你要想按 ...

  6. 【java开发】方法重写和方法重载概述

    类的继承   父类-子类 关键字 extends 新建一个父类 public class Person {     private String name;          private int ...

  7. Java重写方法与初始化的隐患(转)

    原文出处: Shawon 虽然文章标题是Java, 但几乎所有面向对象设计的语言都遵守这个初始化流程, 感谢廖祜秋liaohuqiu_秋百万指出, 之前忘记提这个了. 前言 drakeet写了个和Re ...

  8. Java 重写hashCode 方法和equals方法

    package Container; import java.util.HashSet; import java.util.Iterator; /* Set 元素是无序的(存入和取出的顺序不一定一致) ...

  9. java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)

    /*TreeSet * treeSet存入数据后自动调用元素的compareTo(Object obj) 方法,自动对数据进行排序 * 所以输出的数据是经过排序的数据 * 注:compareTo方法返 ...

随机推荐

  1. Groovy常见语法汇总

    一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,G ...

  2. 【Java】运用JDBC实现一个注册、登录系统的编写

    数据库的建立 首先,建立一个数据库,存储注册成功的账户信息. 其SQL的DDL语句如下: CREATE TABLE `jdbctest` ( `id` int(10) NOT NULL auto_in ...

  3. 数据库关于group by 两个或以上条件的分析

    首先group by 的简单说明:    group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:    (1) 出现在select后面的 ...

  4. maven中的java库

    /* *  *         <dependency>    <groupId>io.netty</groupId>    <artifactId>n ...

  5. Cloudera hadoop-2.3.0-cdh5.1.0 在Centos 6.5 下的安装

    安装前准备 1.  虚拟机3个.安装Centos 6.5, 内存设置为4GB 2.  配置yum源为163(不配置,在安装软件时,慢的要死) 3. 关闭防火墙( iptables).disabled ...

  6. Spring——AOP配置时的jar包异常

    首先:这不是SSH整合的,这是单独配置Spring AOP的一个小例子. 所需要的jar包:如图: 我在这里出现的两个问题: 1.没有导入asm的jar包. 所报的异常为: java.lang.Cla ...

  7. 3 分钟的高速体验 Apache Spark SQL

    "War of the Hadoop SQL engines. And the winner is -?" 这是一个非常好的问题.只要.无论答案是什么.我们都值花一点时间找出 Sp ...

  8. (step7.2.2)hdu 2161(Primes——判断是否是素数)

    题目大意:输入一个n,判断您是否是素数.. 解题思路:简单数论 代码如下: /* * 2161_1.cpp * * Created on: 2013年8月31日 * Author: Administr ...

  9. 直接插入排序、折半插入排序、Shell排序、冒泡排序,选择排序

    一.直接插入排序 稳定,时间复杂度:最好O(n).最差O(n^2).平均O(n^2).空间复杂度O(1) void InsertSort(int L[], int n) { int i, j,key; ...

  10. hdu2818行列匹配+排序

    题意:给定一个矩阵,矩阵上有的数字是1,有的是0,给定两种操作,交换某两行或者某两列,问是否能置换出对角线为1的矩阵 题解:能够置换出对角线是1的矩形要求有n个1既不在同一行也不再同一列,即行列匹配, ...