0

だから私は本の情報を持つこの文字列を持っています:

String data = "Harry Potter 1 | J.K. Rowling| 350 | Fantasy | Hunger Games | Suzanne Collins | 500 | Fantasy | The KingKiller Chronicles | Patrick Rothfuss | 400 | Heroic Fantasy" 

次に、文字列を分割します。

String splitData = data.split("\\|"); 

これにより、Harry Potter 1 が 0 位、JK Rowling が 1 位、350 が 2 位、というようになります。

ここにパターンが見られるかもしれません。つまり、位置 0 は本のタイトル、位置 1 は著者、位置 2 はページ数、位置 3 はジャンルです。次に、再び本のタイトルである位置 4 から始まり、位置 5 は本の著者などです。

ここで、すべてのタイトル、すべての著者、すべてのページ数などを別々に印刷するなど、これらすべての要素を個別に表示したいとしましょう。どうすればこれを達成できますか?

タイトルは 0、4、8 にあるため、これは可能であるはずです。著者は 1、5、9 などにあります。

4

2 に答える 2

4
String data = "Harry Potter 1 | J.K. Rowling| 350 | Fantasy | Hunger Games | Suzanne Collins | 500 | Fantasy | The KingKiller Chronicles | Patrick Rothfuss | 400 | Heroic Fantasy"; 
    String[] splitData = data.split("\\|");
    for(int i=0; i<splitData.length;i++) {
        if(i % 4 == 0) System.out.println("Title: "+splitData[i]);
        else if(i % 4 == 1) System.out.println("Author: "+splitData[i]);
        else if(i % 4 == 2) System.out.println("Pages: "+splitData[i]);
        else if(i % 4 == 3) System.out.println("Genre: "+splitData[i]);
    }

難しいですね。

于 2012-04-09T12:38:11.557 に答える
2

ループを使用すると、 だけでなく、最後の式で任意のfor変更を実行できることを思い出すことができます。この場合、使用できます。次に、各反復で、名前は で、著者は で、ページ数は で、ジャンルはです。i++i += 4splitData[i]splitData[i+1]splitData[i+2]splitData[i+3]

于 2012-04-09T12:36:36.900 に答える