アプリ版:「スタンプのみでお礼する」機能のリリースについて

課題プログラムの中で、いくつかArrayListを使ったメソッドを作って動かすものが出題されているのですが、そのうち「ArrayListの文字を反転させて出力する」というのがわかりません。
何を使ったらよいでしょうか?

ちなみに、私の書いたプログラムの中では、
ArrayList<String> list = new ArrayList<String>();
としていますので、それで書いて下さると嬉しいです。
また、課題の中で、listの中に入っているのは、String型のアルファベット10個です。

教えて下さい、よろしくお願いします。


▼参考API
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …

A 回答 (4件)

こういうことでしょうか?



ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");

for ( int i = list.length - i; i >= 0; i++ ) {
System.out.println(list.get(i));
}
    • good
    • 0
この回答へのお礼

あぁなるほど、list自体を変えるのではなく、表示だけを変えているのですね…それでいいのかもしれません。
有難うございました。

お礼日時:2006/06/10 21:00

#2>for(String str : list)とするとどうなるのですか?


list の中の要素を1つずつ取り出しstr に設定してループします。
つまり、ArrayList<String> に設定した内容を1つずつ取り出し処理するループです。

#1>ArrayListを使って、という指示にはあっていませんよね…。
ArrayList を使うという意味によると思います。
例えば、
<1>,<2>,<3> という並びのリストがあった時に
<3>,<2>,<1> のいう順番に取り出すという意味なら、#2は、全然違いますけど、
>文字を反転させて出力する
という意味が
ArrayList の要素である"ABC" を"CBA" のように表示するという意味なら、
String のデータをArrayList のメソッドで操作することはできませんので
String , もしくはそれに類するクラスのメソッドで操作することになろうかと思います。

意図するところを勘違いしていたら、どのように違うのかを補足してください。
    • good
    • 0
この回答へのお礼

for(String str : list)の説明、有難うございました。わかりました!
先生の説明っぷりから、おそらくArrayListのメソッドで、という意味だと思うので、出来ればArrayList内で表現したいと思います。
いろいろ有難うございました。

お礼日時:2006/06/10 21:06

//意図に沿っているかはわかりませんが


import java.util.*;

public class Sample {
public static void main(String argv[]){
ArrayList<String> list = new ArrayList<String>();
list.add("ADAM");
list.add("EVE");
list.add("CAIN");
list.add("ABEL");
list.add("LILITH");
list.add("LUCIFER");
list.add("ABRAHAM");
list.add("YITZHAK");
list.add("DAVID");
list.add("SOLOMON");

for(String str : list){
StringBuffer rev = new StringBuffer(str);
System.out.println(rev.reverse());
}
}
}
    • good
    • 0
この回答へのお礼

有難うございます。
習い始めてまだちょっとしか経っていないので、よくわからないのですが、for(String str : list)とするとどうなるのですか?
あと、確かにStringBufferにreverse()はありますが、ArrayListを使って、という指示にはあっていませんよね…。
ArrayListでどうしてもわからなかったら使わさせて頂きます、有難うございました。

お礼日時:2006/06/10 07:56

Javaは最近始めたばかりで良く分かりませんが一応出来ました。


良くないプログラムっぽいですが、これはどうでしょう?

ArrayList<String> al = new ArrayList<String>();
al.add("abcde");
al.add("fghij");

for(int i=0; i<al.size(); i++) {
int length = (al.get(i)).length();
char str[] = (al.get(i)).toCharArray();
for (int j = 0; j < length/2; j++) {
char c = str[j];
str[j] = str[length-1-j];
str[length-1-j] = c;
}
System.out.println(str);
}
    • good
    • 0
この回答へのお礼

うむむ…toCharArrayですか…。
出来るだけ、ArrayListだけでやりたいのですが。
有難うございました。

お礼日時:2006/06/10 21:02

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