2013-03-27 74 views
1

我试图使用i++来将数组的某些部分存储在循环中。但是,而不是递增1,我真的需要它由2数组递增和i ++问题

例如递增:

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,然后每次我想它增加两倍。 (因为每个名字都是由一个空格分隔的),我想我将不得不沿着userinput[a + 1]的方向加入一些东西。但我只是想知道是否有更简单的方法。

回答

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++; 
     } 
+0

好吧,它似乎正在工作,但是,我单独的方法排序,似乎无法找到userinputs。我想通过发送字符串名称,它可以访问它们。 – Chris 2013-03-27 21:52:45

+0

请详细解释你究竟在做什么,因为我有点困惑。当系统提示您输入时,它应遵循“”的语法,并且空间用于分隔两者。在顶部的代码中,排序方法从不被调用。此外,如果你可以选择一个最有帮助的答案。 – RyPope 2013-03-27 22:06:50

+0

我的排序方法真的要排序任何东西(我不知道为什么我会这么说)。它只是把数组中的Names(eachother userinput)放到一个列表中,稍后我会组织一个列表(我还没有做过任何关于学位的任务),我还没有打过任何东西,我不相信。后来我计划进行排序(名称),然后是未定度的方法。 – Chris 2013-03-27 22:33:52

0

的选项有:

i++; i++;(你不能在for循环使用的概念,因为你需要一个单独的语句。)

i += 2;

i = i + 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++]; 

...

}