解決済みの質問
はじめまして。
大学で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
なんとか自力でファイルの入出力を行うことはできたのですが、文字列を操作して出力する方法がわかりません。
どなたか教えていただけないでしょうか。
よろしくお願いします。
投稿日時 - 2009-07-08 11:36:12
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]));
}
}
投稿日時 - 2009-07-08 12:06:09
お礼
文字列の分割がよくわからなかったので参考になりました。
回答ありがとうございました。
投稿日時 - 2009-07-08 13:38:41
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(2件中 1~2件目)
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
投稿日時 - 2009-07-08 21:35:32
プログラミングは初心者でも大学の課題なら、
今までその課題ができるような授業はやっていたのでしょう?
勉強するために大学に入ったのに、授業は聞いていないの?
文字列をint型の数値に変換するには
IntegerクラスのparseIntメソッドを使えば変換できます。
ただし、「数字」以外の文字列を変換しようとすると例外が発生するので、事前に「数字かどうか」のチェックを行うこと。
例)
String s = "1";
int i = Integer.parseInt(s);
↑を使えばファイルから読み取った文字列を数値として計算できるので、
あとはそのまま出力すればいいはずです。
投稿日時 - 2009-07-08 12:03:34
お礼
参考にさせていただきます。
回答ありがとうございました。
投稿日時 - 2009-07-08 13:37:02
OKWaveのオススメ
おすすめリンク