好吧,我正在尝试为一个更大的项目做一些事情,我需要每 20 个字符分割一个字符串,然后将每个部分打印到控制台,每个输入之间延迟 1 秒 我尝试这样做:
if (x==true){
String[] Text = JOptionPane.showInputDialog("Input string").split(null, 20);
for (int i = 0; i < Text.length; i++) {
String splitText = (Text[ i ]);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(splitText);
}
}
但是它不起作用(我对java不太有经验,抱歉。)
有人知道什么可行吗?
(如果您可以将我的代码重写为有效的代码并对其进行解释,那就太好了,但我们将不胜感激)。
最佳答案
split方法无法达到你的目的,你可以阅读split方法api。 围绕给定正则表达式的匹配项拆分此字符串。 此方法返回的数组包含此字符串的每个子字符串,该子字符串由与给定表达式匹配的另一个子字符串终止或由字符串末尾终止。数组中的子字符串按照它们在此字符串中出现的顺序排列。如果表达式与输入的任何部分都不匹配,则结果数组只有一个元素,即该字符串。 limit 参数控制应用模式的次数,因此会影响结果数组的长度。如果限制 n 大于零,则该模式将最多应用 n - 1 次,数组的长度将不大于 n,并且数组的最后一个条目将包含最后一个匹配分隔符之外的所有输入。如果 n 为非正数,则该模式将被应用尽可能多次,并且数组可以具有任意长度。如果 n 为零,则该模式将被应用尽可能多次,数组可以具有任意长度,并且尾随的空字符串将被丢弃。 例如,字符串“boo:and:foo”使用这些参数会产生以下结果: 正则表达式限制结果
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }
如果我这样做,我将使用代码打击:
String input = JOptionPane.showInputDialog("Input string");
int count = input.length() / 20 + 1;
for(int i = 0;i < count;i++)
{
System.out.println(input.substring(i * 20, (i + 1) * 20 >= input.length() ? input.length() : (i + 1) * 20));
}
关于java - 每 20 个字符分割字符串,然后将每个部分打印到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39949790/