• ベストアンサー

[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 なんとか自力でファイルの入出力を行うことはできたのですが、文字列を操作して出力する方法がわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
回答No.2

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])); } }

process324
質問者

お礼

文字列の分割がよくわからなかったので参考になりました。 回答ありがとうございました。

その他の回答 (2)

  • ontojava
  • ベストアンサー率61% (8/13)
回答No.3

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

回答No.1

プログラミングは初心者でも大学の課題なら、 今までその課題ができるような授業はやっていたのでしょう? 勉強するために大学に入ったのに、授業は聞いていないの? 文字列をint型の数値に変換するには IntegerクラスのparseIntメソッドを使えば変換できます。 ただし、「数字」以外の文字列を変換しようとすると例外が発生するので、事前に「数字かどうか」のチェックを行うこと。 例)  String s = "1";  int i = Integer.parseInt(s); ↑を使えばファイルから読み取った文字列を数値として計算できるので、 あとはそのまま出力すればいいはずです。

process324
質問者

お礼

参考にさせていただきます。 回答ありがとうございました。

関連するQ&A