0

ファイルを読み取り、そのファイルを「/」がある場所で配列に分割し、変数「theOutput」を配列内のインデックスの値として設定するプログラムを作成しようとしています。問題は、インデックスが常に null に等しいことです。これが私のコードです:

String theOutput = null;
        String content = new Scanner(new File("URL.txt")).useDelimiter("\\Z").next();
        theInput = content;
        String[] URL = theInput.split("/");
        System.out.println(theInput);
        System.out.println(URL.length);




            if (URL.length == 1) {
                theOutput = URL[0];
                if (URL.length == 3) {
                    theOutput = URL[2];
                    if (URL.length == 4) {
                        theOutput = URL[3];
                        if (URL.length == 5) {
                            theOutput = URL[4];
                            if (URL.length == 6) {
                                theOutput = URL[5];
                            }
                        }
                    }

ファイルで見つかったデータの例は「coffee://localhost/brew」であるため、配列で常に 5 つのインデックスを使用するとは限りません。

4

1 に答える 1

1

if ステートメントは互いにネストされているためif(URL.length == 3)、URL の長さが 1 の場合にのみ実行されます。したがって、次のようにする必要があります。

if(URL.length == 1){
    theOutput = URL[0];
}
if(URL.length == 2){
    theOutput = URL[1]
}
//etc.

theOutput = URL[URL.length-1]または、配列の最後の要素を取得すると言うことができます。

于 2013-03-21T00:46:28.153 に答える