这是我的修订版。我尝试通过重复int n
来构建一串String s
个字符。我试图得到的答案是testtestte
。
这是我到目前为止所拥有的。当索引达到4时,它显然会被输出或绑定,因为字符串只有4个字符。我想要它,以便当索引达到3时它会回到0并继续直到int n满足(这可能是错误的单词)10。抱歉,如果问题不够清楚。
public static void main(String[] args){
beads("test", 10);
}
public static void beads(String s, int n){
char[] eachChar = new char[n];
for (int index = 0; index < n; index++) {
eachChar[index] = s.charAt(index);
}
System.out.println(eachChar);
}
答案 0 :(得分:3)
一个简单的解决方案是按字符串的长度对索引进行模数化:
eachChar[index] = s.charAt(index % s.length());
答案 1 :(得分:2)
只需使用mod(%)运算符。
public static void main(String[] args){
beads("test", 10);
}
public static void beads(String s, int n){
char[] eachChar = new char[n];
for (int index = 0; index < n; index++) {
eachChar[index] = s.charAt(index%s.length());
}
System.out.println(eachChar);
}
答案 2 :(得分:2)
考虑一种更轻松,更懒惰的方式
String in = "test";
int len = 10;
StringBuilder buf = new StringBuilder();
while (buf.length() < len) {
buf.append(in);
}
System.out.println(buf.substring(0, len));
总是试图找到一种更简单的方法来做事,因为最终会有更少的错误
答案 3 :(得分:0)
最快的方法是使用arrayCopy,将值复制到bouts中的数组。这与&#34; string / stringbuilder等使用的方法相同。&#34;国内 以下是如何使用它
class DateNSDateConverter
{
/// The singleton instance
static var sharedConverter = DateNSDateConverter()
let calendar: Calendar
let utc: TimeZone
init() {
calendar = Calendar(identifier: Calendar.Identifier.gregorian)
utc = TimeZone(abbreviation: "UTC")!
calendar.timeZone = utc; // error come here in this line
}