プロが教える店舗&オフィスのセキュリティ対策術

はじめまして。
大学で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



なんとか自力でファイルの入出力を行うことはできたのですが、文字列を操作して出力する方法がわかりません。
どなたか教えていただけないでしょうか。

よろしくお願いします。

A 回答 (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]));
}

}
    • good
    • 0
この回答へのお礼

文字列の分割がよくわからなかったので参考になりました。

回答ありがとうございました。

お礼日時:2009/07/08 13:38

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
    • good
    • 0

プログラミングは初心者でも大学の課題なら、


今までその課題ができるような授業はやっていたのでしょう?
勉強するために大学に入ったのに、授業は聞いていないの?

文字列をint型の数値に変換するには
IntegerクラスのparseIntメソッドを使えば変換できます。
ただし、「数字」以外の文字列を変換しようとすると例外が発生するので、事前に「数字かどうか」のチェックを行うこと。
例)
 String s = "1";
 int i = Integer.parseInt(s);

↑を使えばファイルから読み取った文字列を数値として計算できるので、
あとはそのまま出力すればいいはずです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/08 13:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!