English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問現在我讀了一個
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

2 個解答

你可以使用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

fedest.com, questions and answers