- - PR -
JAVA初心者なのですが、教えてもらいたいです。
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-24 15:10
class Item{
String lable; String text = ""; //Vector text = new Vector(); public void setlable(String str) { Lable = str; } public void settext(String str) { text.add(str); } public String getString() { String str; int i; str = lable; for(i = 0; i<text.size(); i++) { str += (String)text.get(i) + "\r\n"; } return str; } } 今、vectorを使用するとプログラムは動くのですが、vectorを使用しないで、Stringを使って表示させようとするとエラーが出て、動かせません。vectorの動作をStringに変えればよいと思うのですが、どうやってやればいいか分かりません。ご指導お願いします。 | ||||||||
|
投稿日時: 2004-06-24 15:19
まず何がしたいのかよく分かりませんね。
なぜVectorを使わないでやりたいのかもしりたいですね。 まずただのStringでやりたいっていうから書いてみます。 ただのStringでやるなら下記のように。。。 ただしtextが一つしかない場合です。 class Item{ String lable; String text = ""; public void setLable(String str) { lable= str; } public void setText(String str) { text = str; } public String getString() { String str_local; str_local = lable; str_local+= text + "\r\n"; return str_local; } } じゃなくてtestが複数あったり。。。 その数が決まってない場合には他のやり方が必要だと思います。 [ メッセージ編集済み 編集者: MUSE 編集日時 2004-06-24 15:20 ] | ||||||||
|
投稿日時: 2004-06-24 15:19
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/String.html と
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Vector.html を熟読して、StringとVectorの違いを理解してください。 それでもわからなければ、プログラミング初心者向け(Java初心者向けではなく)の 入門書で勉強されることをお勧めします。 | ||||||||
|
投稿日時: 2004-06-24 15:54
他の皆様の回答で十分と思いますが、せっかく書いたので貼っておきます。
VectorとStringはまったく別のクラスなので、置き換えようとすると色々と変更 しなければならなくなり、新しく作った方が早い、というレベルです。 ですので、新しく作ると思って書いてみました。 以下のコードでやってることはなんとなくわかるでしょうか? 文字列を改行文字("\r\n")を挟んで連結しています。 -------------------------- Class Test{ public static void main(String args[]){ String str1 = "abc"; String str2 = "def"; String result = str1 + "\r\n" + str2; System.out.println(result); } } -------------------------- 出力結果: abc def 上記のコードではTestクラスだけで処理を行っていますが、 文字列の処理を他のクラスにやらせるように変更すると、 以下のようになります。丸数字を追ってみてください。 -------------------------- Class Test{ public static void main(String args[]){ String label = "title:"; String str1 = "abc"; String str2 = "def"; Item item = new Item(); // @ Itemクラスを使うための準備 test.setText(str1); // A "abc"をItemクラスのsetTextメソッドに渡す test.setText(str2); // C "def"をItemのsetTextメソッドクラスに渡す String result = test.getString(); // E Itemクラスから文字列を取得する System.out.println(result); // G 返された文字列を画面に出力する } } -- ここから別クラスです -- Class Item{ String text = ""; public void setText(String str){ // B Aでセットされた"abc"をtext(まだ1文字も入っていない)の // 末尾に連結して、最後に改行文字をつける // D Cでセットされた"def"をtext(Bで文字列が入れられている)の // 末尾に連結して、最後に改行文字をつける text = text + str + "\r\n"; } public String getString(){ // F CDで文字列が入れられたtextを返す return text; } } -------------------------- 出力結果: abc def ご参考になれば幸いです。 # 文字化けしてたらごめんなさい。 [ メッセージ編集済み 編集者: taro 編集日時 2004-06-24 15:55 ] | ||||||||
|
投稿日時: 2004-06-24 16:08
改行コードは、下記のような方法で設定した方が良いかと思います。 ※改行コードはOS毎に異なります。
| ||||||||
|
投稿日時: 2004-06-24 17:22
みなさん本当にありがとうございました。
| ||||||||
1
