2013-03-27 68 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++]; 

...

}