1

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]);
    }
}

a0 とb1 から開始し、そのたびに 2 ずつ増やしたいと考えています。(名前はそれぞれスペースで区切られているので) のようなものを組み込む必要があると思いますuserinput[a + 1]。しかし、もっと簡単な方法があるかどうか知りたかっただけです。

4

3 に答える 3

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++;
        }
于 2013-03-27T20:51:32.903 に答える
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++];

...

}
于 2013-03-27T21:02:16.407 に答える
0

オプションは次のとおりです。

i++; i++;for(単一のステートメントが必要なため、ループ構造では使用できません。)

i += 2;

i = i + 2;

于 2013-03-27T21:00:50.533 に答える