Java勉強中:文字読み取りと変換編
こんにちは。しゅいろうです。Javaの勉強を始めて、大体1週間…魔法の呪文に見えていたものが、なんとなく理解できる言葉になってきた気がします。今回は復習もかねて、情報を受け付けるScannerクラスと、変換について整理します!
そもそも、Scannerクラスとは
まず、Scannerクラスは
というものであるそうです。引用なので、他人口調。情報をどう扱うかの前に、そもそもその情報をどこから持ってくるか、の一つの手段に、このScannerクラスがある感じだと思います。書き方としては、
import java.util.Scanner //Scannerクラスをいれる
Scanner scanner = new Scanner(System.in); //Scannerクラスを作成
String line = scanner.nextLine(); //Scannerで読み取る情報の設定
System.out.println(line);//Scannerで読み取った情報への操作など
scanner.close(); //Scannerクラス終了
こんな感じです!ふぅーーー。つかれました。なんでこんなに書かなくちゃいけないのか…と思うと同時に、これで入力を受け付けるようになるのかという驚きがあります。よく覚えとこ。
データ型を変換しよう
Javaだけではないと思いますが、データには「型」があります。色んな型があることで、色んな情報を扱えるんだなーくらいに思うといいかも。そして、そのデータを途中で変換したいときがあるかもしれません。そんなときに、「変換」を使います。
String line = Integer.toString(); //整数を文字に変換
int num = Integer.parseInt(); //文字を整数に変換
他にもありますが、こういう感じで変換するようですね。
文字型配列を整数型に変換するには!
先週、配列の勉強もしていました。その時に、文字型の配列を整数型に変えたいなぁと思っていまして、Integer.parseInt(配列!)みたいにゴンッって入れちゃえばできるんではー?と最初は書きました。
あれ・・・
うまくいかないんですねー。それにちゃんとした変換の方法があったんですね。知りませんでした。じゃあどう書くかといいますと、
String input = scanner.nextLine();
String[] parts = input.split(" ");
int[] num = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
num[i] = Integer.parseInt(parts[i]);
}
こんな感じかと思います。あくまで一例です。手順としては、
① scannerで読み取る
② 空白で分割して、parts配列に入れる
③ parts配列と同じ長さのnum配列を作る
④ 条件設定
⑤-1 parts配列のそれぞれの要素を、整数型に変換
⑤-2 変換したものを、int配列のそれぞれの要素に入れる
という感じ。そのままInteger.parseInt(parts[i])って、配列そのものに作用すればいいのに…と思います(笑)。まぁ、仕方がありませんね…
ということで、復習でした。同じところで悩んでいる人がいたら、参考になるとうれしいなあと思います。では!
この記事が気に入ったらサポートをしてみませんか?