Java 如何在一行中获得一定数量的字符?
在我正在编写的程序中,如果用户输入的整数大于10,我希望每行打印10个字符。当我运行代码时,第一行打印11个数字,第二行打印9个。我怎样才能让两者都打印10?以下是我使用的代码: 双s=0Java 如何在一行中获得一定数量的字符?,java,Java,在我正在编写的程序中,如果用户输入的整数大于10,我希望每行打印10个字符。当我运行代码时,第一行打印11个数字,第二行打印9个。我怎样才能让两者都打印10?以下是我使用的代码: 双s=0 double s = 0; String str = ""; double[] arr1 = new double[userInput]; for (int i = 0; i<size; i++) { arr1[i] = Math.
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";
}
}
double s=0;
字符串str=“”;
double[]arr1=新的double[userInput];
对于(inti=0;i我希望我没有误读您的问题,但这是您的代码的一个(稍微简化的版本),它符合我认为您需要的
您需要根据您的具体需要进行调整,但这是基本要求。如果用户输入的数字大于10,则会为数组大小的每行打印10个字符
double userInput = 10;
//user input must be > 10 to continue
if (userInput < 10)
return;
//i explicitely defined my array for simplifications
int arr1[] = {1,2,3,4,5,6,7,8,9,10};
//i go through each of the array positions
for (int i = 0; i<arr1.length;i++)
{
//for each position i print the first 10 items of the array in the same line
for (int j = 0; j < 10; j++)
{
System.out.print (arr1[j] + " ");
}
System.out.println ("\n");
}
double userInput=10;
//用户输入必须大于10才能继续
如果(用户输入<10)
返回;
//我明确地定义了我的数组以进行简化
int arr1[]={1,2,3,4,5,6,7,8,9,10};
//我检查了每个阵列位置
对于(int i=0;i这个问题可以通过几种方式解决:
新行的追加应移到循环的开头
for(int i=0;i
从1运行循环,并将索引固定为1
此外,最好使用StringBuilder
来连接多个字符串:
StringBuilder str=new StringBuilder();
对于(int c=1;c),我们需要为该代码块提供更多的上下文。这可能是正确的,也可能是不正确的,取决于周围的代码所做的。我添加了更多的代码,希望现在更清楚。我认为仍然缺少上下文。数组从何而来?打印在哪里?尝试发布所有(相关的)您正在使用的代码。显示输入,显示实际输出,并显示所需输出。@Unknowin-发布预期输出的示例。
58.3 52.2 48.9 41.4 78.3 58.9 93.2 44.8 66.3 75.5
30.0 47.6 43.7 76.3 1.9 70.1 39.7 37.7 14.0 7.1
41.8 31.8 84.9 2.2 72.7 42.5 48.8 5.8 95.0 83.0
77.9 43.7 69.3 62.0 10.7 43.9 21.5 40.5 36.4 65.4
6.8 43.9