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

锦江建设和交通局网站软文优化

锦江建设和交通局网站,软文优化,福州网站设计大概多少钱,澳门seo推广[NOIP2011 普及组] 数字反转 题目描述 给定一个整数 NNN,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。 输入…

[NOIP2011 普及组] 数字反转

题目描述

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

输入格式

一个整数 NNN

输出格式

一个整数,表示反转后的新数。

样例 #1

样例输入 #1

123

样例输出 #1

321

样例 #2

样例输入 #2

-380

样例输出 #2

-83

提示

【数据范围】

$-1,000,000,000\leq N\leq 1,000,000,000 $。

noip2011 普及组第一题\

代码

第一遍的

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;@SuppressWarnings("all")
public class Main{public static void main(String [] args){Scanner scanner = new Scanner(System.in);String next = scanner.next();StringBuffer stringBuffer = new StringBuffer(next);stringBuffer.reverse();if(Integer.parseInt(next)>0) {for(int i=0;i<stringBuffer.length();i++) {if(stringBuffer.charAt(i)=='0') {stringBuffer.delete(i, i+1);}else {break;}}}else if (Integer.parseInt(next)==0) {} else {stringBuffer.delete(stringBuffer.length()-1, stringBuffer.length());for(int i=0;i<stringBuffer.length();i++) {if(stringBuffer.charAt(i)=='0') {stringBuffer.delete(i, i+1);}else {break;}stringBuffer.insert(0, '-');}}System.out.println(stringBuffer);
}
}

结果
在这里插入图片描述

我蒙了,然后我看输入
在这里插入图片描述
900000000
我就知道有问题了
for(int i=0;i<stringBuffer.length();i++)
这个stringBuffer.length()是会变的,判断一次变一次奥好像?
比如这个例子,你一直减stringbuffer长度,i也在增长,i=4时候,正好,人家长度变成5了
正好你判断条件不成立了,后面的条件也判断不了了
用一个变量存储起来就行了
而且!删除的位置也是不对的
stringBuffer.delete(i, i+1);
这就相当于你判断的第一个删除人家后一个,这种做法不行
所以,就直接删除第一个就可以
改为
stringBuffer.delete(0, 1);
然后就出乎意料的再一次的给我惊喜

第二次


import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;@SuppressWarnings("all")
public class Main{public static void main(String [] args){Scanner scanner = new Scanner(System.in);String next = scanner.next();StringBuffer stringBuffer = new StringBuffer(next);stringBuffer.reverse();int length = stringBuffer.length();if(Integer.parseInt(next)>0) {for(int i=0;i<length;i++) {if(stringBuffer.charAt(i)=='0') {stringBuffer.delete(0, 1);}else break;}}else if (Integer.parseInt(next)==0) {} else {stringBuffer.delete(stringBuffer.length()-1, stringBuffer.length());for(int i=0;i<length;i++) {if(stringBuffer.charAt(i)=='0') {stringBuffer.delete(0, 1);}else {break;}stringBuffer.insert(0, '-');}}System.out.println(stringBuffer);
}
}

我输入
600
他输出06
我输入60
他直接报错
我dbug了一下
在这里插入图片描述

什么鬼???,我delete(0,1)在我的笔记是删除第0位置上的元素
然后,我眼睁睁的看着
stringbuffer存储的数组,的1索引的位置由‘0’变成‘6’
接下来我又
“懂了”,我真是有病啊,刚刚还说i增长的问题,其实
是这个
**if(stringBuffer.charAt(i)==‘0’)**判断条件的问题
我其实一直判断第一个字符就可以,因为它是一直减的

最终代码

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;@SuppressWarnings("all")
public class Main{public static void main(String [] args){Scanner scanner = new Scanner(System.in);String next = scanner.next();StringBuffer stringBuffer = new StringBuffer(next);stringBuffer.reverse();int length = stringBuffer.length();if(Integer.parseInt(next)>0) {for(int i=0;i<length;i++) {if(stringBuffer.charAt(0)=='0') {stringBuffer.delete(0,1);}else break;}}else if (Integer.parseInt(next)==0) {} else {stringBuffer.delete(stringBuffer.length()-1, stringBuffer.length());for(int i=0;i<length;i++) {if(stringBuffer.charAt(0)=='0') {stringBuffer.delete(0, 1);}else break;}stringBuffer.insert(0, '-');}System.out.println(stringBuffer);
}
}

思路

1.用stringbuffer解决反转问题
2.内部细节->0/<0/=0处理不一样,分开处理
3.>0很简单,就一个个判断是0删除就ok
4.=0更简单,不用处理
5.<0,先删除最后的-号,然后开始像>0这样一个个判断删除,最后在开头添加-号

总结

对应变量的掌握不太熟练
就是他自身(操作的对象)就变,你的位置始终其实都在1位就能确定
不用根据i行事了,固化思维
还有就是我注意到
StringBuffer.delete不是真正删除对应的属性的,里面有一个count,来计数有几个有效字符,好像内部是运用替换还是什么的,把删除字符弄到最后,然后count-删除字符,就是我们想要的字符串了

http://www.hrbkazy.com/news/37389.html

相关文章:

  • 网站建设 朝阳区网络营销方法有哪些举例
  • 做外贸的阿里巴巴网站是哪个更好打开百度搜索网站
  • wordpress+培训行业主题百度推广优化怎么做
  • 网络公司怎么优化网站世界足球世界排名
  • 网站建设七大步骤外贸网站平台哪个好
  • 北京市建筑网站seo是什么化学名称
  • 做住宿网站挣钱吗中小企业管理培训课程
  • 模板网站试用北京核心词优化市场
  • 网站做软文营销的本质
  • 佛山定制网站建设上海百度推广开户
  • 东阳做网站宁波专业seo服务
  • 政府网站建设经验介绍广州百度seo排名
  • 企业网站备案号密码忘记百度信息流推广是什么意思
  • 现在都用什么做网站少女长尾关键词挖掘
  • wordpress 数据库爆炸seo赚钱项目
  • 建设绿色食品网站百度推广官方网站登录入口
  • diy手工制作网站电商营销的策略与方法
  • 企业网站建设报价模板网络营销首先要进行
  • 网站优化电话天猫seo搜索优化
  • 织梦 网站迁移国际重大新闻事件10条
  • 做网站是什么软件福建企业seo推广
  • 急招烟草送货司机3名沈阳seo合作
  • 做网站网络合同南宁seo做法哪家好
  • 响水做网站哪家好百度如何免费推广
  • 云企网站建设开发bing搜索引擎入口官网
  • 不知道是谁做的网站 输入学号谷歌商店paypal官网
  • 电商网站建设网络公司石家庄最新消息
  • 湖南省造价管理站官网aso具体优化
  • 济南网站建设webwz8线上营销公司
  • 购物网站制作免费三只松鼠营销案例分析