中間文字のインポート(Java)


👩‍🏫 質問する


[プログラマ]中間文字を入力

問題の説明


単語sの中間文字を返す関数を作成します.単語の長さが偶数の場合は、中間の2文字を返します.

せいげんじょうけん

  • sは、長さが1より大きく、100より小さい文字列である.
  • I/O例


    sreturn"abcde""c""qwer""we"

    👩‍💻 に答える

    public class Solution {
    
        public static String solution(String s) {
            String answer = "";
            char[] c = s.toCharArray();
            if (c.length % 2 != 0){
                int idx = c.length/2;
                answer = Character.toString(c[idx]);
            }
            else{
                int idx = c.length/2 - 1;
                answer = Character.toString(c[idx]) + Character.toString(c[idx+1]);
            }
            return answer;
        }
    }

    💭 勉強する

  • toCharArray():前にも見たことある!文字列を文字型配列に1文字ずつ分ける方法
  • Character.toString():文字タイプ値→Stringタイプ値変換
  • ▲1行コード…!
  • substring():String値の一部のインデックスを切り取った値のみを返すstr.substring(4)str値でインデックス4からエンドに戻るstr.substring(4,11)→str値でインデックス4、10(11-1)を返す
  • 以上のコードはword.substring((word.length()-1) / 2, word.length()/2 + 1);ルート
    返すべき値のbeginIndexとendIndexをsubstringで指定します.
    長さ5(奇数)の場合、beginIndex=2、endIndex=3→index 2長さ6(偶数)の場合、beginIndex=2、endIndex=4→index 2,3わあ完璧...!✨✨✨
    参考資料
  • JavaでCharを文字列に変換します。
  • JAVA SUBSTRINGを使用して文字列を切り取る