JavaWeb 静态IP 计算机基础知识 maven idea html object elasticsearch testing vector jwt Seajs vue论坛 vue动态绑定class jq获取元素宽度 c语言求和 map删除指定元素 matlab颜色代码 python类和对象 python文件写入 python创建对象 python打开文件 java在线学习 java获取当前月份 java中tostring方法 java连接数据库代码 java程序设计教程 php开发教程 真实女友补丁 删除数组中的某个元素 ps怎么插入表格 通讯录管理系统 快打旋风3出招表 js分页 汽车配件查询软件 polyworks kz文件 计划任务软件 oracle游标 ps反选
当前位置: 首页 > 学习教程  > 编程语言

欢迎来到新手菜菜——倔强的小叶博客

2021/1/13 20:34:05 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

题目:(JAVA)给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 基本要求: 我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那…

题目:(JAVA)给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

基本要求:

我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
在这里插入图片描述

代码实现:

这里主要运用了方法的调用,详细的代码解析请观看代码块。

   public static void main(String[] args) {
        int a=reverse(666);  //方法调用
        System.out.println(a);
    }
    public static int reverse(int x) {
        int remain;  //定义一个变量,获得数字上的每一个数
        int temp=0;  //初始化为0,用来表示颠倒后的数
        //只要数据不是0,就会一直进入循环
        while(x!=0){
            remain=x%10;
            x=x/10;
            //判断数据是否在正数的范围内
            if(temp>Integer.MAX_VALUE/10 || (temp == Integer.MAX_VALUE && remain>7))
            	return 0;
            //判断数据是否超出了负数范围
            if(temp<Integer.MIN_VALUE/10 || (temp == Integer.MIN_VALUE && remain<-8))
            	return 0;
            //在范围内,则进行颠倒计算,每执行一次,将上一次的执行结果扩大10倍,在加上新获得的remain,就可以实现颠倒。
            temp=temp*10+remain;
        }
    return temp;
    }


本文链接: http://www.dtmao.cc/news_show_600355.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?