- ベストアンサー
[Java]プログラミング初心者なため解りません。
はじめまして。 大学でJavaの課題を出されたのですが、プログラミング初心者なため方法がわかりません。どなたか助けていただきたいです。 課題 まず、以下のようなファイル(test.dat)を作成する 1 2 3 4 5 6 7 8 9 10 このファイルを読み込み、次のような結果をファイル(kekka.dat)として出力するプログラムを作成せよ。 1 + 2 = 3 3 + 4 = 7 5 + 6 = 11 7 + 8 = 15 9 + 10 = 19 なんとか自力でファイルの入出力を行うことはできたのですが、文字列を操作して出力する方法がわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1 2 3 4 5 6 7 8 9 10 ファイルのフォーマットは 数字 半角スペース 数字 改行 と考えればいいのでしょうか? であるならば読み込んだ文字列を分割し、数値型として計算すればいいでしょう。 public class PGBeginner { public static void main(String[] args) { String moto = "1 2"; String[] ary = moto.split(" "); System.out.println(Integer.parseInt(ary[0]) + Integer.parseInt(ary[1])); } }
その他の回答 (2)
- ontojava
- ベストアンサー率61% (8/13)
StreamTokenizer(ストリームトークナイザ)を使うと良いです。 StreamTokenizerインスタンスはトークン抽出子といいます。 トークン抽出子は空白類文字をデータである文字列をトークンに分けるデリミタとして扱います。 ですから 1 2 3 4 5 6 7 8 9 10 これはスペースと改行文字によって分けられた十のトークンのストリームと見なすことができます。 コードを書き込んでしまうと勉強になりませんので調べてみてください。 参考サイト java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/StreamTokenizer.html
- pcbeginner
- ベストアンサー率46% (261/560)
プログラミングは初心者でも大学の課題なら、 今までその課題ができるような授業はやっていたのでしょう? 勉強するために大学に入ったのに、授業は聞いていないの? 文字列をint型の数値に変換するには IntegerクラスのparseIntメソッドを使えば変換できます。 ただし、「数字」以外の文字列を変換しようとすると例外が発生するので、事前に「数字かどうか」のチェックを行うこと。 例) String s = "1"; int i = Integer.parseInt(s); ↑を使えばファイルから読み取った文字列を数値として計算できるので、 あとはそのまま出力すればいいはずです。
お礼
参考にさせていただきます。 回答ありがとうございました。
お礼
文字列の分割がよくわからなかったので参考になりました。 回答ありがとうございました。