在我编写的程序中,如果用户输入的整数大于10,我希望每行打印10个字符。当我运行代码时,第一行打印11个数字,而第二行打印9个。我怎样才能同时打印10?下面是我使用的代码:double s=0;
double s = 0;
String str = "";
double[] arr1 = new double[userInput];
for (int i = 0; i<size; i++) {
arr1[i] = Math.random()*100;
} //Generates random array (size of array depends on user input)
for (int i = 0; i<arr1.length;i++) {
s = arr1[i];
s = Math.round(s * 10.0) / 10.0;
str += s + " ";
if (i%10 == 0 && i!=0) {
str += "\n";
}
}
2条答案
按热度按时间pw9qyyiw1#
可以通过以下几种方式解决此问题:
新行的追加应该移到循环的开头
从1运行循环并将索引固定为1
此外,使用
StringBuilder
最好连接多个字符串:42个元件的测试输出:
f1tvaqid2#
我希望我没有误读你的问题,但这是一个(有点简化的版本)你的代码,这正是我认为你想要的。
你需要调整这一点,然后你的具体需要,但这是基本要求。如果用户输入的数字大于10,则数组大小的每行打印10个字符。
输出:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10