• ベストアンサー

JavaのWhile文で

 お忙しいところごめんなさい。 質問させてください。 自分はJavaの超初心者なのですが、 while文を使って希望のリスト範囲のみ抽出しようとしています。(例えば上から90~100番目のリストのみ)。ところが、while文を使うとどうしても1番目からになってしまいます。どうしたらいいでしょうか?? ネット上を調べても載っていなくて、どうしたらいいのか・・・   よろしくお願いします。m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 下記のコードで実行してみました。 public class Test { public static void main ( String[] args ) { String[] msg = new String[100]; for ( int i = 0; i < 100; i ++ ) { msg[i] = "["+(i+1)+"]"; } System.out.println ( "for文で出力" ); for ( int i = 89; i < 100; i ++ ) { System.out.println ( msg[i] ); } System.out.println ( "while文で出力" ); int i = 89; while ( i < 100 ) { System.out.println ( msg[i] ); i ++; } } } データをどのように持っているのか補足していただければ 的確な回答が出来ると思います。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 while文を使わないとだめですか? 範囲を指定する場合はfor文が扱いやすいと思います。 90番目から100番目ですと for ( int i = 89; i < 100; i ++ ) { // msgには1~の数字が入っているとする System.out.println ( msg[i] ); } リストの型とかわからなかったのでStringの配列にて表現しました。 上のようにすると90番目~100番目のmsgの中身が表示されます。 上の表現をwhileでやろうとすると int i = 89; while ( i < 100 ) { System.out.println ( msg[i] ); i ++; } となります。 while ( 式 ) whileは式がtrueである場合にループを実行すると言うことになります。 すなわち、ループに突入してiが100未満であるときにループを実行し、 iが100以上になったらループを抜ける処理となります。

javatea_1985
質問者

お礼

 お返事ありがとうございました! ただ、上記のように変更すると1番目~12番目のデータが表示され、80番目からのデータになりません。 申し訳ありませんがもう一度アドバイスください。 データは2かける20のデータベース(テーブル)です。

関連するQ&A