结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
用例
输入 | I am an 20-years out–standing @ * -stu- dent |
输出 | dent stu standing out 20-years an am I |
说明 | 无 |
源码和解析
解析:
正则匹配 字符串替换 字符串拆分
示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class T45 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
// I am an 20-years out--standing @ \* -stu-dent
String str1 = "[^0-9a-zA-Z-]";// 非法字符 //空格 @ \*
String[] items1 = input.split(str1);
List<String> wordList = new ArrayList<String>();
for (String w : items1) {
if (w.replaceAll(" ", "").length() == 0) {
continue;
}
if (w.indexOf("--") != -1) {
w = w.replaceAll("--", "&");// 后面用&符号统一分割一次
}
if (w.indexOf("-") != -1) {
// 解决头尾出现的问题 即可
if (w.charAt(0) == '-' || w.endsWith("-")) {
w = w.replaceAll("-", "&").replace(" ", "");
}
}
for (String item : w.split("&")) {
if (item.replaceAll(" ", "").length() == 0) {
continue;
}
wordList.add(item);
}
}
for (int i = wordList.size() - 1; i >= 0; i--) {
System.out.print(wordList.get(i) + " ");
}
}
}
代码运行示意图:
最后
码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的人看到
又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考
以下是部分内容截图
b5e56a57acb)收录**