反转Int

该博客展示了一段Java代码实现整数反转。定义了ReverseInteger类,其中getRes方法通过循环将目标整数逐位反转,每次取个位数并更新结果,最后判断结果是否在int区间内,若不在则返回0,在main方法中调用该方法进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class ReverseInteger {
    public static void main(String [] agrs){

        System.out.println(getRes(-123));
    }

    /**
     *
     * @param tergetInt 需反转的整数
     * @return
     * 1.tergetInt%10后剩下的就是个位数上的值此时,此时加上res*10一起赋值给res
     * 2.将terget/10后返回给terget,相当于去掉最后一位。
     * 3.一直循环直到tergetInt为0
     * 4.对比返回的res值是否在int区间内 -2147483648~2147483647,在则返回,不再则返回0
     *
     */
    public static long getRes(int tergetInt){
          long res=0;
        while(tergetInt!=0){
            res=res*10+tergetInt%10;
            tergetInt/=10;

        }
        return (res>2147483647  || res<-2147483648)?0:res;

    }

}
05-31
好的,以下是整合后的可运行的Keil51代码: ``` #include <reg51.h> sbit motor = P1^0; // 直流电机控制信号 sbit button1 = P3^0; // 按键1 sbit button2 = P3^1; // 按键2 int motor_status = 0; // 0表示电机停止,1表示电机正转,2表示电机反转 int button_status = 0; // 0表示没有按键按下,1表示按键1按下,2表示按键2按下 void delay(unsigned int time) // 延时函数 { unsigned int i, j; for (i = time; i > 0; i--) { for (j = 110; j > 0; j--); } } void main() { motor = 0; // 初始状态设为停止 while (1) { if (button1 == 0) // 按键1按下 { button_status = 1; } else if (button2 == 0) // 按键2按下 { button_status = 2; } else // 没有按键按下 { button_status = 0; } if (button_status == 1) // 按键1按下,电机正转 { if (motor_status != 1) // 如果电机不是正转状态,则控制继电器闭合,使电机正转 { motor = 1; delay(1000); motor_status = 1; } } else if (button_status == 2) // 按键2按下,电机反转 { if (motor_status != 2) // 如果电机不是反转状态,则控制继电器断开,使电机停止,然后再控制继电器闭合,使电机反转 { motor = 0; delay(1000); motor = 1; delay(1000); motor_status = 2; } } else // 没有按键按下,电机停止 { if (motor_status != 0) // 如果电机不是停止状态,则控制继电器断开,使电机停止 { motor = 0; delay(100); motor_status = 0; } } } } ``` 需要注意的是,这段代码中用到了延时函数,但是不同的MCU的晶振频率可能不同,因此需要根据实际情况调整延时的时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值