請問現在我讀了一個
String s="55 33";
要怎麼把55 跟 33分別存在一個Int的變數 x跟y裡?
2007-04-15 14:11:10 · 2 個解答 · 發問者 ? 1 in 電腦與網際網路 ➔ 程式設計
因55跟33中間有空格 無法直接用
Integer.parseInt
2007-04-15 14:18:01 · update #1
你可以使用StringTokenizer來切割字串,
import java.util.StringTokenizer;
public class test {
public static void main(String[] args){
String s="55 33";
StringTokenizer st = new StringTokenizer(s);//把要分解的字串當作建構子的參數傳給它
int total = st.countTokens();//取得被切割後的總數
int stringArray[] = new int[total];//宣告一個陣列來儲放被切割後的小字串
int i = 0;
while(st.hasMoreTokens()){//判斷是否還有下一個小字串可取
stringArray[i] = Integer.parseInt(st.nextToken()); //將小字串取回來,轉換成int後存至陣列中
}
for (int j = 0; j < total; j )
System.out.println(stringArray[j]);//將儲放小字串的陣列印出,或是自己再去應用這個陣列內的值
}
}
所以當字串為"55 33"時,會得到stringArray={55,33}
當字串為"551 3 191 77"時,會得到stringArray={551,3,191,77}
以上程式供你參考,為了有縮排效果,我加了全型的空白,因此若要直接複製使用的話,請記得把全型空白刪除。
2007-04-16 17:32:55 · answer #1 · answered by Nick 3 · 0⤊ 0⤋
//Power by Eclipse v3.2
//import java.util.*;
import java.io.*;
//測試類別檔名 TEST_JAVA.java
public class TEST_JAVA {
public static void main(String[] args){
//==========START==========//
PrintStream p=new PrintStream(System.out);
//Scanner input=new Scanner(System.in);
String s="55 33",s1,s2;
int x,y;
s1=s.substring(0, 2);
s2=s.substring(3, 5);
x=Integer.parseInt(s1);
y=Integer.parseInt(s2);
p.printf("%d\n",x);
p.printf("%d\n",y);
//==========END==========//
}
}
2007-04-15 16:44:33 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋