使用while和for循环时,如何访问和操作字符串数组中的各个值

时间:2014-02-07 10:18:42

标签: java

Java新手:尝试学习它。

我创建了一个数组,想要访问数组的各个组件。

我遇到的第一个问题是如何将数组打印为批处理或整个数组,如下所示?例如:在最后value MyValue4上我添加了换行符,以便在打印值时,输出将如下所示:必须有更好的方法来执行此操作?

MyValue1
MyValue2
MyValue3
MyValue4

MyValue1
MyValue2
MyValue3
MyValue4

我需要做的下一件事是,用其他东西操纵或替换值,例如:MyValue with MyValx,当repeat变量是某个数字或值时。 因此,当repeat变量达到3时,将我的值更改为其他值,然后在达到6时更改回来。

我熟悉Replace方法,我只是不确定如何把它们放在一起。 我在使用混合中的whilefor loop更改数组的部分内容时遇到了问题。

我的代码:

public static String[] MyArray() {
    String MyValues[] = { "MyValue1", "MyValue2", "MyValue3", "MyValue4\n" };

    return MyValues;
}

public static void main(String[] args) {

    int repeat = 0;
    while (repeat < 7) {

        for (String lines : MyArray()) {
            System.out.println(lines);
        }

        repeat = repeat + 1;

        if (repeat == 7) {
            break;
        }
    }

}

3 个答案:

答案 0 :(得分:1)

也许使用for周期更短:

for (int i = 0; i < 7; i++) {
    for (String lines : MyArray()) {
        // Changes depended by values.
        if (i > 3) {   
            lines = MyValx;
        }

        System.out.println(lines); // to have `\n` effect
    }
    System.out.println();
}

BTW变量将以小写字母开头,而不是以enter\n)结尾。所以使用:

String myValues[] = {"MyValue1", "MyValue2", "MyValue3", "MyValue4"};

而不是:

String MyValues[] = { "MyValue1", "MyValue2", "MyValue3", "MyValue4\n" };

并在循环中的eache之后添加System.out.println();而不是:

答案 1 :(得分:0)

MyValues[n] = "value";

其中n是数组中的位置。

答案 2 :(得分:0)

您可以考虑使用System.out.println()而不使用任何参数来打印空行,而不是在数据中插入换行符。

您已经知道for-each循环,但考虑一个计数控制的循环,例如

for (int i = 0; i < lines.length; i++) {
    ...
}

您可以使用i访问您的阵列以及决定是否采取进一步措施。

根据字符串中的数字替换数组项可能有点棘手。如果您熟悉正则表达式肯定会完成这项工作。如果没有,我可以建议学习这个,因为它在将来的情况下肯定会有用。

更简单的方法可能是使用

int a = Integer.parseInt("123");  // returns 123 as integer

但这仅适用于包含纯数字(正数和负数)的字符串。它不适用于abc123。这会引发异常。

这些是一些想法,您可以尝试并尝试。也过分使用文档。 ; - )