这是带有给定字符串编号的My Array代码(0098765424100304643528):
public class Main
{
public static void main(String[] args)
{
String mynumbers = "0098765424100304643528";
int len = mynumbers.length();
char[] tempCharArray = new char[len];
for (int i = 0; i < len; i++)
{
tempCharArray[i] = mynumbers.charAt(i);
System.out.print(tempCharArray[i]+"->");
}
System.out.println();
}
}
这是运行后的结果:
0->0->9->8->7->6->5->4->2->4->1->0->0->3->0->4->6->4->3->5->2->8->
我想在下面更改它(如何将我的数组分成四个?)
0098->7654->2410->0304->4352->8
答案 0 :(得分:3)
System.out.println(StringUtils.join("0098765424100304643528".split("(?<=\\G.{4})"), "->"));
答案 1 :(得分:3)
也许你写的结果是错的,如你所说(四人),如果你只想要输出四人,你可以这样做:
for (int i = 0; i < len; i++)
{
tempCharArray[i] = mynumbers.charAt(i);
System.out.print(tempCharArray[i]);
if((i+1)%4==0)
{
System.out.print("->");
}
}
答案 2 :(得分:1)
你可以检查我是否可以被4分割,如果它是一个箭头,否则只需打印数字。即:
public class Main
{
public static void main(String[] args)
{
String mynumbers = "0098765424100304643528";
int len = mynumbers.length();
char[] tempCharArray = new char[len];
for (int i = 0; i < len; i++)
{
tempCharArray[i] = mynumbers.charAt(i);
if((i % 4 == 0) && i > 0)
System.out.print(tempCharArray[i]+"->");
else
System.out.print(tempCharArray[i]);
}
System.out.println();
}
}
这里的%是模数运算符,它告诉我们剩下的东西除以其他东西,即:5%4 = 1,因为5/4 = 1 * 4 + 1
答案 3 :(得分:1)
我们将检查i的值是否不为0,并且我可以被4整除。如果为true,则打印->
否则打印数字,不用它。
public class Main
{
public static void main(String[] args)
{
String mynumbers = "0098765424100304643528";
int len = mynumbers.length();
char[] tempCharArray = new char[len];
for (int i = 0; i < len; i++)
{
tempCharArray[i] = mynumbers.charAt(i);
if(i > 0 && i%4 == 0)
System.out.print(tempCharArray[i]+"->");
else
System.out.print(tempCharArray[i]);
}
System.out.println();
}
}