java - 如何改变数组中的值排列?

标签 java arrays eclipse sorting

问题: 给定一个神奇宝贝名称的字符串数组:

 String[] pokemon={"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"};

a) 使用 WHILE 循环编写代码来显示神奇宝贝名称,如下所示

输出:

拉达

小 pig

杂草

杰尼龟

妙蛙种子

(按以上顺序)

然后我也尝试一下这个问题:

public static void main(String[] args) {
    String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"};
    int i=0;
    while(i<pokemon.length) {
        System.out.println(pokemon[i]);
        i++;
    }

}

我想知道的是如何像输出顺序一样排列值。我知道我可以改变立场,但我不认为问题说我可以这样做。

感谢您的帮助!

最佳答案

只需反向迭代数组并打印:

String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"};
int i = pokemon.length - 1;
while (i >= 0) {
    System.out.println(pokemon[i--]);
}

如果您确实需要颠倒 Pokemon 数组中的顺序,那么我建议进行就地交换:

String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"};
int len = pokemon.length;
for (int i=0; i < pokemon.length/2; ++i) {
    String temp = pokemon[i];
    pokemon[i] = pokemon[len-1-i];
    pokemon[len-1-i] = temp;
}

关于java - 如何改变数组中的值排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016545/

相关文章:

c++ - 为枚举索引数组重载 std::get

java - class.getAnnotation 和 getAnnotations 不能正常工作

java - 如何使用 Avro 序列化/反序列化动态 json 类型

c++ - 如何从函数正确返回数组?

java - 在 Java 中从 FileOutputStream 创建和写入文件

java - 同时对两个数组列表进行排序

java - 场景构建器不显示 Controller 字段

java - 错误 : Weblogic Maven Plugin deployment

java - 匿名内部类实际上不是子类吗?

java - Spring Requestmapping 的条件基于服务器端参数