公共类Main{
public static void main(String[] args) {
String str = "12345";
输出="12,345"
###
如果必须将分隔符放入长度为n
的字符串中的每个k
-th位置,则字符串的长度必须大于k
,并且分隔符的初始位置可以计算为(n-k-1)%k
。
要构建格式化的字符串,应该使用StringBuilder
,并且可以预先计算其容量以包含n
和(n-1)/k
分隔符。
static String format(String str, char c, int k) {
int n = str.length();
StringBuilder sb = new StringBuilder(n + (n - 1) % k);
for (int i = 0, j = (n - k - 1) % k; i < n; i++) {
sb.append(str.charAt(i));
if (i < n - k && i == j) {
sb.append(c);
j += k;
}
}
return sb.toString();
}
测试(对于k=3
)
for (String s : new String[]{"aa", "aaa", "aaaa", "aaaaa", "aaaaaa", "aaaaaaaa", "123456789"}) {
System.out.println(s + " -> " + format(s, ',', 3));
}
aa -> aa
aaa -> aaa
aaaa -> a,aaa
aaaaa -> aa,aaa
aaaaaa -> aaa,aaa
aaaaaaaa -> aa,aaa,aaa
123456789 -> 123,456,789
您可以迭代输入的字符,并在(i!=0
)后每隔三位插入一个逗号。
public static void main(String[] args) {
String str = "12345";
int positionOfLastCharacter = str.length() - 1;
String output = "";
for (int i = 0; i < str.length(); ++i) {
if (i != 0 && i % 3 == 0) {
output = "," + output;
}
output = str.charAt(positionOfLastCharacter - i) + output;
}
System.out.println(output); // = "12,345"
}
如果在循环中连接字符串,最好使用StringBuilder:
public static void main(String[] args) {
String str = "12345";
int positionOfLastCharacter = str.length() - 1;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); ++i) {
if (i != 0 && i % 3 == 0) {
sb.insert(0, ",");
}
sb.insert(0, str.charAt(positionOfLastCharacter - i));
}
String output = sb.toString();
System.out.println(output); // = "12,345"
}
我在想,当时间限制达到10秒时,我怎么能不按回车键就输入“回车”。 所以我将输入尽可能多的字符,直到时间结束。我想将该字符串保存为“in” 我刚刚发现Robot类可以按enter键,但我认为我使用它的方式不正确。
主要内容:字符串的输出,字符串的输入其实在《 C语言输入输出》一章中我们已经提到了如何输入输出字符串,但是那个时候我们还没有讲解字符串,大家理解的可能不透彻,所以本节我们有必要再深入和细化一下。 字符串的输出 在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是: puts():输出字符串并自动换行,该函数只能输出字符串。 printf():通过格式控制符输出字符串,不能自动换行。除了字符串,printf() 还能输
问题内容: 我有一个要写入csv文件的字符串列表。列表看起来像 所以,我会尝试这样的事情: 不幸的是,数据没有写入三列。我发现: 如何正确格式化此行为以获得 最好采用格式? 问题答案: 您正在使用与结尾。该方法需要一个 lists列表 ,但是您传入了一个字符串列表。该方法实质上是这样做的: 其中每一行必须是一列列。字符串是单个字符的序列,因此这就是您所写的:单个字符由您选择的定界符分隔。 您需要将
在高版本浏览器和 node.js 中,JavaScript 提供了 ArrayBuffer 和 Uint8Array 等 TypedArray 可以对二进制数据进行操作。但在低版本浏览器中并没有这些对象,而且这些对象没有自动伸缩性,不方便流式操作,相互转换也比较麻烦。 为兼容低版本浏览器,并且可以方便操作字符串和二进制数据,hprose for JavaScript 提供了一个 StringIO
以下是程序必须遵循的规则: 中的每个单词都必须被拆分为字母,并从一开始就反转它们 只有长度等于或大于 例如,如果并输入。这里,的长度小于n,因此不能颠倒,但定律和引力的长度大于或等于3,因此必须颠倒为 和 最终输出:ttacaroitn的wal 在我给定的代码中,我只能反转字符串,但不能根据输入数字反转单词。不知道。