关注
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int n = sc.nextInt(); while ((n--) > 0) {
StringBuffer sb = new StringBuffer(sc.next()); int lenOld = sb.length(); int lenNew = lenOld; for (int i = 1; i < lenOld; i++) { if (Character.isLowerCase(sb.charAt(i - 1)) && Character.isUpperCase(sb.charAt(i))) {
lenNew++; } if (i < lenOld-1 && Character.isLowerCase(sb.charAt(i+1)) && Character.isUpperCase(sb.charAt(i - 1)) && Character.isUpperCase(sb.charAt(i))) {
lenNew++; }
} int indexOld = lenOld - 1; int indexNew = lenNew - 1; sb.setLength(lenNew); for (; indexOld >= 1 && indexOld < lenNew; indexOld--) { if (Character.isLowerCase(sb.charAt(indexOld - 1)) && Character.isUpperCase(sb.charAt(indexOld))) {
sb.setCharAt(indexNew--, sb.charAt(indexOld)); sb.setCharAt(indexNew--, '_'); } else if (indexOld < lenNew - 1 && Character.isLowerCase(sb.charAt(indexOld + 1)) && Character.isUpperCase(sb.charAt(indexOld - 1)) && Character.isUpperCase(sb.charAt(indexOld))) {
sb.setCharAt(indexNew--, sb.charAt(indexOld)); sb.setCharAt(indexNew--, '_'); } else {
sb.setCharAt(indexNew--, sb.charAt(indexOld)); }
}
System.out.println(sb.toString().toLowerCase()); }
}
查看原帖
点赞 评论
相关推荐
05-29 22:11
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
30679次浏览 630人参与
# 机械人集合!你是什么工程师? #
15296次浏览 88人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
25895次浏览 210人参与
# 秋招什么时候开投比较合适? #
18855次浏览 274人参与
# 发工资后,你做的第一件事是什么 #
67534次浏览 229人参与
# 如何准备秋招 #
17971次浏览 348人参与
# 百度工作体验 #
219078次浏览 1957人参与
# 机械人与华为的爱恨情仇 #
116165次浏览 942人参与
# 工作中哪个瞬间让你想离职 #
25433次浏览 177人参与
# 硬件应届生薪资是否普遍偏低? #
73575次浏览 514人参与
# 不考虑转正,实习多久合适 #
31542次浏览 145人参与
# 影石Insta360求职进展汇总 #
123109次浏览 1069人参与
# 通信和硬件还有转码的必要吗 #
57244次浏览 526人参与
# 24届的你们都什么时候入职? #
59933次浏览 424人参与
# 面试被问期望薪资时该如何回答 #
255945次浏览 1479人参与
# 实习,不懂就问 #
41634次浏览 643人参与
# 你们公司几号发工资 #
20491次浏览 139人参与
# 软开人,秋招你打算投哪些公司呢 #
102421次浏览 958人参与
# 每个月的工资都是怎么分配的? #
24846次浏览 408人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
28973次浏览 460人参与
# 你觉得现在还能进互联网吗? #
7404次浏览 130人参与