A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张頔 中级黑马   /  2012-6-12 17:00  /  2425 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当时是这样一个题目
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
我的代码如下:
public class sqrtDemo {
        public static void main(String[] args){
                for(int i=0;i<100000;i++){
                        double a = Math.sqrt(i+100);        //Math.sqrt()返回的是double类型的比如12.0
                        double b = Math.sqrt(i+100+168);  
                        if(isInt(a)&&isInt(b)){
                                System.out.println(i);
                                break;
                        }
                }
        }
        public static boolean isInt(double d){       //判断是不是整数,例如是为了区分12.0和12.1
                int i = (int)d;                               //我始终感觉这地方有点取巧 有什么好方法没
                if(i==d){
                        return true;
                }else return false;
                }
        }

6 个回复

倒序浏览
用这个方法吧  Boolean isInt = Class.forName("java.lang.Integer").isInstance(传入你需要判断的值);
如果要判断是否是其他类型,就将Integer 改成其他的类型就OK了。
如:   
int num = 1;
Boolean is = Class.forName("java.lang.Integer").isInstance(num);  
//Boolean is = Class.forName("java.lang.String").isInstance(num);  
回复 使用道具 举报
本帖最后由 戴敏智 于 2012-6-12 17:35 编辑

通过Math类中的floor方法获取返回相应的double值,该值是小于或等于d的最大整数:   double i=Math.floor(d);
回复 使用道具 举报
if((a-(int)a)==0){
System.out.println(“整形”);
} 我刚想的,还没测试
回复 使用道具 举报
try{
     Integer.paseInt(num);
}catch(NumberFormatException e){
     e.printStack();
     System.out.println("不是整数!");
}
回复 使用道具 举报
郑冬 发表于 2012-6-12 18:17
try{
     Integer.paseInt(num);
}catch(NumberFormatException e){

我也想到过用try catch
但是:如果num=12.0
try{
     Integer.parseInt("12.0");
    }catch(NumberFormatException e){
       System.out.println("不是整数!");
    }

这时判断12.0不是整数啊
题目需要的是判断12.0是整数
回复 使用道具 举报
我是个零基础的,目前还在努力自学中,才学到多线程,希望能成为黑马,
楼主的代码我不是全部都能看懂,但是对于判断一个数是否是整数,我想到一个思路,楼主可以试试

就是用if(i%1==0){}这样来控制,也就是说用你需要判断的那个数对1取模,如果你判断的这个数是整数取模后就是0,就会执行if 后面的语句,也就是可以判断这个数是否整数~
我是大菜鸟,不知道这样行不行的通,你们觉得这样可以么?

点评

可以,不过你这样更取巧 呵呵  发表于 2012-6-13 13:39

评分

参与人数 1黑马币 +10 收起 理由
张頔 + 10 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马