获取字符串中最长的数串
2015-10-16 16:05
309 查看
题目
思路
代码
运行结果
总结
输出字符串中长度最长的数字串,如果数字串长度相同,输出其中各个数字和最大的,如果和一样大,输入位置最前的。
如:输入”asdas213+2331-1221sds3321” 输出:2331
思路
代码
运行结果
总结
题目
输入一段字符串,包含任意的ACII字符串。输出字符串中长度最长的数字串,如果数字串长度相同,输出其中各个数字和最大的,如果和一样大,输入位置最前的。
如:输入”asdas213+2331-1221sds3321” 输出:2331
思路
用全局变量来存储最长数串的长度和它的和,然后遇见更大的就替换。代码
package test; import java.util.Scanner; public class CharTest { static int Sum = 0; static int Length = 0; public static void main(String agrs[]) { String str = ""; Scanner sc = new Scanner(System.in); str = sc.nextLine(); sc.close(); System.out.println(getMaxNumberString(str)); } public static String getMaxNumberString(String str) { String maxNumberString = ""; int sum = 0; int length = 0; StringBuilder number = new StringBuilder(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= '0' && c <= '9') { number.append(c); sum = sum + (int) c; length = length + 1; continue; } if (number.length() != 0) { if (length > Length) { Length = length; Sum = sum; maxNumberString = number.toString(); length = 0; sum = 0; number = new StringBuilder(); continue; } if (length == Length) { if (sum > Sum) { Sum = sum; maxNumberString = number.toString(); length = 0; sum = 0; number = new StringBuilder(); continue; } } } } return maxNumberString; } }
运行结果
总结
这是第一次用Markdown写博客,好不熟悉,写点简单,当作测试。欢迎一起讨论。相关文章推荐
- 水仙花数
- Visual C++ 2010 ATL /CLR/MFC/Win32有何不同
- Java io详解(二)-File
- HashMap源码分析
- linux---Vim命令集
- JQuery 常用积累(五)Datetimepicker和Lodop
- 通过SQL语句提取存储过程中的内容
- Java interview 统计一篇英文文档的单词数,并输出次数最多的10个
- 通过两种方法实现在HTML页面加载完毕后运行某个js
- C#获取windows串口号对应的串口(设备)名称
- SQL TOP 子句 高级教程
- 关于APPCAN的页面传值
- Mechanize Guide
- Cookie/Session机制详解
- Android 模拟器genymotion安装,eclipse 插件
- tq2440开发板使用过程中遇到的问题
- python3.x的print()函数默认参数
- Jquery连续两次相同AJAX请求时,默认不执行本次;不同时终止上一次未完成的AJAX请求
- Spring整合Struts2(实操)
- JDBC:使用映射增加JDBC语句通用性