ある記号で区切られた文字列を配列に変換する
1308 ワード
よくある面接問題です.○○記号(","または"#")で区切られた文字列を配列に変換します.
考え方は2つあります.
(1)split()関数の使用
(2)StringTokenizer
例:strはカンマで区切られ、「aa,bb,cc,dd,ee,ff,gg」は配列に変換する必要があります.
コード:
面接では「,」をカンマで区切る簡単な状況を質問するのが一般的ですが、2つの記号で区切る場合、split()関数を使用する場合はforループが必要で、StringTokenizerは必要ありません.
また、StringTokenizerというクラスは互換性のために保持されているレガシークラスであり、新しいコードでは使用が奨励されていません.
実際のシナリオの例:初期の高校クラウドプラットフォームの評価部分のように、学生の評価時に各評価項目のidとその学生の評価の点数を記録し、実現時にJavaScriptを使用してurlにパラメータを追加して伝達を継続する.
文字列の様式は、項目aのID、aの点数#項目bのID、bの点数#項目cのID、cの点数
後に具体的なコードを書くときも、パラメータを配列に変換することを選択します.初期評価ではsplit()関数を用いて変換した.
考え方は2つあります.
(1)split()関数の使用
(2)StringTokenizer
例:strはカンマで区切られ、「aa,bb,cc,dd,ee,ff,gg」は配列に変換する必要があります.
コード:
import java.util.StringTokenizer;
public class Test3{
public static void main(String[] args){
String str="aa,bb,cc,dd,ee,ff,gg";
String[] strArray1=null;
System.out.println("----Method1: use split----"); // split()
strArray1= str.split(",");
// System.out.println("----Method2: use StringTokenizer----"); // StringTokenizer
// StringTokenizer st = new StringTokenizer(str,",");
// String[] strArray1 = new String[st.countTokens()];
// int a =0;
// while(st.hasMoreTokens()){
// strArray1[a++]=st.nextToken();
// }
//
for(int i=0;i
面接では「,」をカンマで区切る簡単な状況を質問するのが一般的ですが、2つの記号で区切る場合、split()関数を使用する場合はforループが必要で、StringTokenizerは必要ありません.
また、StringTokenizerというクラスは互換性のために保持されているレガシークラスであり、新しいコードでは使用が奨励されていません.
実際のシナリオの例:初期の高校クラウドプラットフォームの評価部分のように、学生の評価時に各評価項目のidとその学生の評価の点数を記録し、実現時にJavaScriptを使用してurlにパラメータを追加して伝達を継続する.
文字列の様式は、項目aのID、aの点数#項目bのID、bの点数#項目cのID、cの点数
後に具体的なコードを書くときも、パラメータを配列に変換することを選択します.初期評価ではsplit()関数を用いて変換した.