修改java程序,使其适用于-25到25之间的数字



我不久前就开始学习java了。我正在通读《Java基础》一书,并从书中进行练习。

只要遇到这个";修改java程序,使其适用于-25和25之间的数字;我想知道你有没有不同的解决方案,或者真的那么简单?:(

这是原始代码:

public class BasicArray
{
public static void main(String[] args)
{
final int LIMIT = 15;
final int MULTIPLE = 10;

int[] list = new int[LIMIT];

// Initialize the array values
for(int index = 0; index < LIMIT; index++)
list[index] = index * MULTIPLE;

list[5] = 999; // change one array value

// Print the array values
for(int value : list)
System.out.println(value + "");
}
}

这是我的解决方案:

public class BasicArray
{
public static void main(String[] args)
{
final int LIMIT = 51;
final int MULTIPLE = 1;

int[] list = new int[LIMIT];

// Initialize the array values
for(int index = 0; index < LIMIT; index++)
list[index] = (index - 25) * MULTIPLE;

list[5] = 999; // change one array value

// Print the array values
for(int value : list)
System.out.println(value + "");
}
}

是的,基本上这是一个非常简单的练习。

关于您的解决方案,我们实际上不需要代码中的MULTIPLE

public class BasicArray {
public static void main(String[] args) {
final int LIMIT = 51;

int[] list = new int[LIMIT];

// Initialize the array values
for(int index = 0; index < LIMIT; index++) {
list[index] = (index - 25);
}
list[5] = 999; // change one array value

// Print the array values
for(int value : list) {
System.out.println(value + "");
}
}
}

如果您已经准备好使用一些高级java,您可以尝试以下操作:

public class BasicArray {
public static void main(String[] args) {
IntStream.rangeClosed(-25, 25)
.forEach(System.out::println);
}
}

或者,如果您需要替换一个值:

public class BasicArray {
public static void main(String[] args) {
IntStream.rangeClosed(-25, 25)
.forEach(i -> {
if (i == -20) { // change one array value
System.out.println(999);
} else {
System.out.println(i);
}
});
}
}

最新更新