この記事は、シアトルコンサルティング株式会社 Advent Calendar 2021の13日目の記事です。
こんにちは、シアトルコンサルティングの森です。
TeamTech Move the WorldをMissionに掲げ、日々全力で業務に取り組んでおります!
少しでも興味を持って頂けたら下記のサイトを覗いてみてください!
コーポレートサイト
https://www.seattleconsulting.co.jp/
Wantedly
https://www.wantedly.com/companies/seattleconsulting
よろしくお願い致します!
はじめに
今回はJavaSilverを取得する上で押さえておきたい概念「ポリモーフィズム」について、
実際の問題とともに説明していきます。
この記事を読んでポリモーフィズムに関する問題や考え方をマスターしていただければ幸いです。
はじめに
今回は前回の記事の続きとなります。
複数行にわたるテキストをScannerクラスで読み取る方法について書いていきます。
前回の内容を元に話していきますので読んでない方、
初歩的なScannerクラスの使い方がわからない方は先にそちらをご参照ください。
目次
1繰り返し処理の考え方
2事前に何行かわかっている場合
3.最後に
1.繰り返し処理の考え方
複数行をScannerクラスで読み取るということですが、
考え方としては1行読み取る時にしたことを繰り返すだけです。
非常にシンプルな考え方です。
では実際にどのように複数行を読み取るのかということですが、
処理を開始する前に何行あるのかわかっている場合と、
分かっていない場合があるでしょう。
まずは事前に何行あるかわかっている場合から考えます。
2.事前に何行かわかっている場合
何行かわかっている場合はその数値を元にfor文を設定し、
その中にScannerクラスを挿入すれば対応できます。
例:
「太郎は
今日
家に
帰った。」
を読み取り出力してください。
public class Main {
public static void main(String[] args) {
Scanner sc = new scanner;
for(int i=0;i<4;i++){
String X = sc.nextLine();
System.out.println(X);
}
}
出力結果:
太郎は
今日
家に
帰った。
となります。
またよくpaizaで用いられる方法としては
最初に何行続くかを示した数字を提示しその後その数値分入力されるという方法です。
まず1行目を読み取りその数値をfor文に使用します。
具体的には、
例:
「
3
123
1234
234
」と入力されたとします。
例の文章だと1行目の3はその後に何行続くかをしめてしている数値で、
その後の3行を使用する問題となっているでしょう。
この場合だと、
public class Main {
public static void main(String[] args) {
Scanner sc = new scanner;
int N = sc.nextInt();
for(int i=0;i<N;i++){
int X = sc.nextInt();
System.out.println(X);
}
}
となります。
3.最後に
複数行にわたるScannerクラスの使い方をご理解いただけたでしょうか?
今回は例文ということもあり全てそのまま出力しましたが、
出力せず一度リストや配列に入れることでその後いろんな処理を挟むこともできるので、
ぜひ挑戦してみてください。