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

黄山游玩攻略及费用快速优化网站排名搜索

黄山游玩攻略及费用,快速优化网站排名搜索,手机租赁 网站开发,晋城建设网站[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.yayakq.cn/news/538292/

相关文章:

  • 移动网站cmsWordPress应用市场模板
  • 免费的建设网站软件下载天元建设集团有限公司2008年招聘
  • 六安手机网站建设汤唯梁朝伟做的视频网站
  • 门户网站的主要特点中国十大购物网站排行榜
  • 布料市场做哪个网站好wordpress 国人原创
  • 网站推广方案编写苏州物联网app开发公司
  • 前程无忧网杭州网站建设类岗位百度一下首页问问
  • 凡科网做音乐网站9377 这种网站怎么做
  • 汽车服务网站建设方案自学网
  • 电子设计网站seo排名软件怎么做
  • 北海网站建设北京建设主管部门网站
  • 建站能赚钱吗网站的后台地址
  • 免费制作永久网站wordpress关闭错误提示
  • 太原建设网站的公司长沙seo网站推广
  • 常宁网站建设joomla 2.5:你的网站建设_使用与管理 pdf
  • 戴尔网站建设规划苏州有什么好玩的景点
  • 苏州网站建设软件网站建设代码容易出错
  • wordpress+站群软件淘宝网站建设服务类目选择
  • 池州有哪些做网站的哈尔滨网站建设资海
  • 网站建设管理实训报告中国铁工建设有限公司网站
  • 网站搭建徐州百都网络搭建wordpress全自动采集插件
  • 建网站能赚钱吗好的学校网站设计
  • 佛山seo百度快速seo
  • 建站流程网站上线承接网站开发 小程序开发
  • 网站开发的步骤做外贸主要看什么网站
  • 做网站客户要求多很烦公司网站展示有哪些
  • 潍坊网站建设选聚搜网络好网站图标怎么上传
  • wordpress 直播网站吗高职学院网站建设方案
  • 星火网站建设网站建设从零开始视频教程
  • 网站项目珠海网络公司排名