当前位置: 首页 > news >正文

怎么自己做导航网站国内的优秀设计网站

怎么自己做导航网站,国内的优秀设计网站,做个手机app软件需要多少钱,建设网站用英文怎么说一、题目要求: 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零 二、题目分析代码演示: 该程序的主要功能是接收一个整数输入&…

一、题目要求:

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零

二、题目分析+代码演示:


该程序的主要功能是接收一个整数输入,并将其各个位上的数字进行反转,生成一个新的整数。例如,输入`123`,输出`321`;输入`-380`,输出`-83`。

import java.util.Scanner;import static java.lang.Integer.valueOf;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();if (num >= 0){StringBuilder sb = new StringBuilder();sb.append(num);StringBuilder sb1 = sb.reverse();String sb2 = sb1.toString();int num1 = valueOf(sb2);System.out.println(num1);}else {String str = num + "";String str1 = str.substring(1,str.length());StringBuilder str2 = new StringBuilder();str2.append(str1);StringBuilder str3 = str2.reverse();String str4 = str3.toString();int m = Integer.valueOf(str4);m = -m;System.out.println(m);}}}

说明:
处理负数的情况中有两点需要注意:

1. String str = num + ""; 
   将负数`num`转换为字符串`str`。例如,-456转换为"-456"。

为什么要这样用?

1. 将整数转换为字符串:
   在Java中,直接对整数进行反转操作并不直观。因此,通常的做法是将整数转换为字符串,然后对字符串进行反转,最后再将反转后的字符串转换回整数。
   `num + ""` 是一种简便的方法,将整数 `num` 转换为对应的字符串表示。例如,-123 会被转换为字符串 "-123"。

2. 方便截取数字部分:
   对于负数,字符串表示以 `-` 开头。为了反转数字部分,需要去掉这个负号,只反转数字。使用 `substring(1, str.length())` 可以轻松实现这一点,得到 `"123"`。

这种做法的优缺点:

优点:
**简单直观**:对于初学者来说,这种方法易于理解和实现。
**快速实现**:无需额外的库函数或复杂的逻辑,即可实现数字反转。

缺点:
**效率较低**:字符串操作在Java中相对较慢,尤其是对于大数或频繁的操作时。
**可读性差**:`num + ""` 这种写法不够明确,可能会让阅读代码的人感到困惑。
**潜在的错误风险**:如果 `num` 为 `0`,`num + ""` 会得到 `"0"`,这在某些情况下可能需要额外处理。

2. String str1 = str.substring(1, str.length());
   使用`substring`方法从索引1开始截取字符串,去掉负号。例如,"-456"变为"456"。

三、优化


虽然上述代码能够实现功能,但有一些可以优化的地方:

1. 处理负数的简化
   可以统一处理正数和负数,无需分开判断。例如,先记录符号,再处理绝对值部分。

2. 防止溢出
   在将反转后的字符串转换为整数时,可能会发生溢出(例如,反转`Integer.MAX_VALUE`)。可以在转换前进行范围检查。

3. 使用更简洁的方法 
   可以利用数学运算来反转数字,避免字符串操作,提高效率。

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();int reversed = reverseInteger(num);System.out.println(reversed);
}public static int reverseInteger(int x) {int reversed = 0;while (x != 0) {int pop = x % 10;x /= 10;// 检查是否会溢出if (reversed > Integer.MAX_VALUE/10 || (reversed == Integer.MAX_VALUE / 10 && pop > 7)) return 0;if (reversed < Integer.MIN_VALUE/10 || (reversed == Integer.MIN_VALUE / 10 && pop < -8)) return 0;reversed = reversed * 10 + pop;}return reversed;
}

说明:
1. 统一处理正负数  
   通过取模运算`x % 10`,可以同时处理正数和负数。

2. 防止溢出  
   在每次更新`reversed`之前,检查是否会导致整数溢出。如果会,则返回0。

3. 数学运算反转数字
   通过不断取出最后一位数字并构建反转后的数字,避免了字符串操作,提高了效率。

http://www.yayakq.cn/news/197491/

相关文章:

  • 建设法规网站王也天葛优
  • 效果图网站大全太原建站模板厂家
  • 如何利用模板建站网站做推广需要多少钱
  • 优惠券个人网站怎么做抖音小程序怎么开通
  • 做微信的网站有哪些功能wordpress修改了文件后前端不生效
  • 网站怎么自己做推广wap建站程序哪个好
  • 芷江建设局的工作人员网站西安seo外包价格
  • 购买帝国cms做网站代理云南昆明网站设计
  • 制作线下交易平台网站建设html基础
  • 易班网站的建设内容注册公司需要注意什么事项
  • 上海建筑网站大全举例说明网络营销的方法有哪些
  • 泉州微信网站建设公司东莞市国外网站建设哪家好
  • 网站建设的财务计划书wordpress插件转换移动浏览
  • 同一产品做多个网站wordpress微信免签支付接口
  • 建设一个做资料库的网站百度广告太多
  • 铁岭做网站信息网站推广全过程
  • 做采集网站的方法国外公司网站模板
  • 饮食网站建设策划书行业 网站 方案
  • 网站维护技术wordpress手机下浮动
  • 个人网站的设计与实现参考文献做网站没装数据库
  • 那种网站建设软件最好微信公众号商城开发费用
  • 企业电话号码查询网站如何做公司自己的网站
  • wordpress网站模板仿站工具政务服务网站建设汇报
  • 黔南网站建设西安公司注册代理
  • 长春火车站到吉大二院做网站需要做数据库
  • 网站建设活动公司网站怎么能被百度收录
  • 长沙臻钬建站活动方案手机网站建设yu
  • 继续访问这个网站wordpress 监控应用
  • 天津星创网站建设有限公司wordpress电影站主题
  • 潍坊做网站好看建筑企业网站有哪些