我试图将Java中的数组5增加100,从0开始增加(得到输出:0,100,200,300,400)。由于某种原因,我的for循环不会添加100,当我运行程序时,它只打印0,0,0,0,0。任何帮助,将不胜感激。
public class Integers {
void createIntegers(int[] arr) {
for (int n = 0; n < arr.length; n += 100);
}
void printIntegers(int[] arr) {
int index;
for (index = 0; index < arr.length; index++) {
System.out.println(arr[index]);
}
}
public static void main(String[] args) {
int[] arr = new int[5];
Integers createIntegers = new Integers();
createIntegers.createIntegers(arr);
createIntegers.printIntegers(arr);
}
}
答案 0 :(得分:1)
两件事:
尝试更多内容,在for循环中乘以100并将结果存储在索引位置
for(int i = 0; i < arr.length; i++){
arr[i] = i * 100;
}
这里我们每次递增1并乘以然后分配
答案 1 :(得分:1)
这很容易,你只需要稍作改动:
public class Integers {
void createIntegers(int[] arr) {
for (int n = 0; n < arr.length; n++){
arr[n] = 100*n;
}
}
void printIntegers(int[] arr) {
for (int index = 0; index < arr.length; index++) {
System.out.println(arr[index]);
}
}
public static void main(String[] args) {
int[] arr = new int[5];
Integers createIntegers = new Integers();
createIntegers.createIntegers(arr);
createIntegers.printIntegers(arr);
}
}
问题出在您的createIntegers
方法中。你没有对数组做任何事情,你只是递增变量n
这for (int n = 0; n < arr.length; n += 100);
做了什么:
int n = 0
- &gt;这只在整个构造的开始时执行一次。您声明变量n
并将其值设置为零。
n < arr.length
- &gt;只要在新周期开始时此条件为真,则循环正在运行。
n += 100
- &gt;这在每个循环结束时执行。但是,将变量n递增100不会改变数组中的任何内容。
答案 2 :(得分:1)
createIntegers()中for循环的主体是空的,因此不做任何事情,以及它只会运行一次,就像之后一样,n将为100和100 &GT; 5.您需要使用单独的变量来增加列表整数,并使用单独的变量来跟踪迭代,如下所示:
n = 0
for (int i = 0; i < arr.length; i++) {
arr[i] = n;
n += 100;
}
答案 3 :(得分:0)
看起来你需要阅读一些基础知识,这里有一些示例代码可以帮助你实现你想要做的事情。您的代码没有按预期执行,因为您的条件只是循环而不是实际分配任何东西。
public class Test {
private static int[] myIntegers = new int[5];
private static int incrementor = 100;
public static void main(String args[]) {
// Add values to the array
for (int i = 0; i < myIntegers.length; i++) {
myIntegers[i] = incrementor;
incrementor += 100;
}
// Print out the array
for (int i = 0; i < myIntegers.length; i++) {
System.out.println(myIntegers[i]);
}
}
}