java - 如何在java中以预期形式输入?
问题描述
我想输入一个字符串
%d+%d
java中的格式。我该怎么做?
我知道我可以用 string.split() 方法做到这一点。但是我觉得如果我必须在输入中处理更多的字符串,它会变得更加复杂。喜欢
%d+%d-%d
我正在寻找接近 c 的 scanf 解决方案的解决方案。
我试过这个 %d+%d
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
String first,second;
String[] arr = str.split("\\+");
first = arr[0];
second = arr[1];
scanner.close();
而这对于 %d+%d-%d+%d........=%d-%d+%d.....+%d...
private final String[] splitLoL(String txt) {
LinkedList<String> strList1 = new LinkedList<String>();
LinkedList<String> strList2 = new LinkedList<String>();
LinkedList<String> strList3 = new LinkedList<String>();;
strList1.addAll(Arrays.asList(txt.split("\\+")));
for(String str : strList1) {
String[] proxy = str.split("-");
strList2.addAll(Arrays.asList(proxy));
}
for(String str : strList2) {
String[] proxy = str.split("=");
strList3.addAll(Arrays.asList(proxy));
}
String[] strArr = new String[strList3.size()];
for(int i = 0; i < strArr.length; i++) {
strArr[i] = new String(strList3.get(i));
}
return strArr;
}
解决方案
尝试这个:
String str = scanner.nextLine();
List<String> str2 = new ArrayList();
Matcher m = Pattern.compile("\\d+").matcher(str);
while(m.find()) {
str2.add(m.group());
}
推荐阅读
- csv - azure ADF - 从查找活动中获取 .csv 文件的字段列表
- java - CardView 显示白色居中布局
- xcode - Xcode 11:添加文档不包括退货
- android - 从 Firestore 检索后写回原始位置
- c# - 使用 Microsoft.Data.Sqlite C# 获取最后一个插入 rowid
- c# - Attribute.GetCustomAttributes 和 MemberInfo.GetCustomAttributes 可以互换吗?
- android - 在 RecyclerView 中连续显示来自 Firestore 的数据
- javascript - AOS 库不工作,除了刷新
- python - Python 在包中导入其他函数
- c++ - char 数组 C++ 元音