1. ホーム
  2. ジャワ

[解決済み] 偶数の長さの文字列が与えられたとき、前半部分を返す。つまり、"WooHoo "という文字列は "Woo "となる。

2022-03-03 07:54:03

質問

今のところ、こんな感じです。

    Scanner scan = new Scanner(System.in);

    String str = scan.nextLine();

    int x = str.length();
    int y = str.charAt(x/2);
    System.out.println(str.substring(y, x-1));

これを実行するとなぜかエラーになるんです。 助けてください。

私はまだ初心者で、Javaでは基本的な使い方しか知りません。 配列とか高度なものの使い方はわかりません。 もし誰かがこの問題をできるだけ簡単な方法で解決する方法を教えてくれたら、それは素晴らしいことです。

ありがとうございました。:)

解決方法は?

int y = str.charAt(x/2); は不要で、実際には中間位置にある文字を返します。

public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        int x = str.length();
        System.out.println(str.substring(0, x/2)); // return part of full string starting from index 0 to mid index
    }

出力

WooHoo
Woo