现有一个字符串str,输出字符串str中的最长的数字子 串。
区块链毕设网qklbishe.com为您提供问题的解答
现有一个字符串str,输出字符串str中的最长的数字子串。
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String s = in.nextLine(); boolean flag = false;//当前字符是否数字 String numberStr = "";//最长数字子串 //数字子串(不一定是最长)的左端点,右端点,已知数字子串最大长度,当前子串长度 int startIndex = 0, endIndex = 0, max = 0, tmp = 0; for(int i = 0; i < s.length(); i++) { if (Character.isDigit(s.charAt(i))) { if(!flag) { startIndex = i;//第一次遍历到数字,更新子串左端点 } flag = true; tmp++; endIndex = i + 1; } else { if(tmp > max) { max = tmp; //已知最长数字子串 numberStr = s.substring(startIndex, endIndex); } tmp = 0; flag = false; } } //若最后以数字结尾,还需比较已知最长数字子串和最后一个数字子串 if(tmp > max) { max = tmp; numberStr = s.substring(startIndex, endIndex); } System.out.println(numberStr); } } }
23:36
以上就是关于问题现有一个字符串str,输出字符串str中的最长的数字子 串。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训