我创建了一个包含50个元素的数组。
前25个元素等于索引的平方,后25个元素等于索引乘以3。
这是我当前的输出: 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147
我想要的输出是这样:
0 1 4 9 16 25 36 49 64 81
100 121 144 169 196 225 256 289 324 361
400 441 484 529 576 75 78 81 84 87
90 93 96 99 102 105 108 111 114 117
120 123 126 129 132 135 138 141 144 147
我尝试使用格式设置功能(printf),但似乎无法正常使用。我也尝试过使用if语句,但这给了我“无法将int转换为boolean”的错误。
我已经搜索了一些类似的问题,但是它们的解决方案太过复杂以至于我无法理解,或者它们不适用于我的特定代码,因为我已经在使用for循环了。
有人有简单的方法来实现这一目标吗?这是用于家庭作业。我把逻辑部分放下了,具有讽刺意味的是,这应该是最困难的部分,但是这个格式化部分让我很头疼
感谢您的帮助!
这是我的代码,
int [] Number = new int [50];
for(int i = 0; i < Number.length/2; i++) {//first loop
System.out.print(i * i + " ");
}
for(int i = 25; i < Number.length; i++) {//second loop
System.out.print(i * 3 + " ");
}
答案 0 :(得分:3)
您不需要数组。您想做的是:
循环50次
i
设置为0
i
设置为1
i
设置为49
每次:
i < 25
打印i * i
i >= 25
打印i * 3
每10次打印一次新行。
这是没有数组的情况:
int size = 50;
for (int i = 0; i < size; i++) {
// Print a newline after every 10 elements
if (i != 0 && i % 10 == 0) {
System.out.println();
}
// Print i * i for 0 up to but excluding 25
// Print i * 3 after that
if (i < size / 2) {
System.out.print(i * i + " ");
} else {
System.out.print(i * 3 + " ");
}
}
如果您真的想遍历数组的元素:
int[] myArr = new int[50];
for (int i = 0; i < myArr.length; i++) {
if (i != 0 && i % 10 == 0) {
System.out.println();
}
if (i < size / 2) {
System.out.print(i * i + " ");
} else {
System.out.print(i * 3 + " ");
}
}
将变量命名为Number
也不是一个好主意,因为:
答案 1 :(得分:0)
尝试一下:
int[] Number = new int[50];
for (int i = 0; i < Number.length / 2; i++) {//first loop
if (i % 10 == 0 && i > 0) {
System.out.println();
}
System.out.print(i * i + " ");
}
for (int i = 25; i < Number.length; i++) {//second loop
if (i % 10 == 0) {
System.out.println();
}
System.out.print(i * 3 + " ");
}
答案 2 :(得分:0)
该数组是否需要存储正确的值?
int[] numbers = new int[50];
for (int i=0; i<numbers.length; ++i) { //calculating correct value into the array
numbers[i] = (i < 25) ? i * i : i * 3;
}
for (int i=0; i<numbers.length; ++i) { //displaying data
if (i % 10 == 0 && i > 0) {
System.out.println();
}
System.out.print(numbers[i] + " ");
}
答案 3 :(得分:0)
我希望这对您有帮助
int[] arrNum = new int[50];
for (int i = 0; i < numbers.length; ++i) { //First loop to enter the data
numbers[i] = ((i < 25) ? i * i : i * 3);
}
for (int i = 0; i < numbers.length; ++i) { //Second loop to output data
if (i % 10 == 0) System.out.println;
System.out.print(numbers[i] + " ");
}
答案 4 :(得分:0)
int[] array = new int[50];
int count = 0; // To print 10 elements per line
for(int I = 0; I < array.length; I++) {
if (count == 10) {
System.out.println();
count = 0;
}
System.out.print(a1[i] + " ");
count++;
}