数组递增和i ++问题

时间:2013-03-27 20:50:36

标签: java arrays string arraylist

我正在尝试使用i++将数组的某些部分存储在循环中。但是,我不需要递增1,而是需要增加2。

例如:

import java.util.ArrayList;
import java.util.Arrays;
import javax.swing.JOptionPane;

public class PeerTutoring
{
    public static void main(String[] args)
    {
        ArrayList<String> list = new ArrayList<String>();

        int a = 0;
        int b = 1;
        String name, degree;
        String line;
        line = JOptionPane.showInputDialog("Inputs");
        String[] userinput = line.split("\\s+");

        for(int i = 0; i < userinput.length; i++)
        {
            name = userinput[a];
            degree = userinput[b];
            a+=2;
            b+=2;
        }
    }

    public static String sort(String name)
    {
        String tutors = "Tutor List";
        ArrayList<String> names = new ArrayList<String> ();
        names.add(userinput[0]);
        names.add(userinput[2]);
        names.add(userinput[4]);
        names.add(userinput[6]);
        names.add(userinput[8]);
        names.add(userinput[10]);
        names.add(userinput[12]);
        names.add(userinput[14]);
        names.add(userinput[16]);
        names.add(userinput[18]);
    }
}

我希望a从0开始,b为1,然后每次我希望它增加2。 (因为每个名字都被一个空格隔开)我想我将不得不在userinput[a + 1]的范围内加入一些内容。但我只是想知道是否有更简单的方法。

3 个答案:

答案 0 :(得分:2)

for(i=0, i < linesize; i += 2)

作为旁注,如果您计划在之后使用它们,请确保在循环外初始化变量,否则它们将丢失。

        int a = 0;
        int b = 1;
        String name, degree;

        for(i=0, i < linesize; i += 2)
        {
            int linesize = line.size();
            String line;
            line = JOptionPane.showInputDialog("Please enter tutor name and 
            their highest earned degree.");
            String[] userinput = line.split("\\s+");
            name = userinput[a];
            degree = userinput[b];
            a++;
            b++;
        }

答案 1 :(得分:0)

您的选择是:

i++; i++;(你不能在for循环结构中使用,因为你需要一个语句。)

i += 2;

i = i + 2;

答案 2 :(得分:0)

    String line;
    line = JOptionPane.showInputDialog("Please enter tutor name and 
    their highest earned degree.");
    String[] userinput = line.split("\\s+");

    for(int i=0, i < userinput.length; ){
    String name = userinput[i++];
    String degree = userinput[i++];

...

}