配列要素を文字列に変換して表示するプログラム

このQ&Aのポイント
  • Javaのプログラムにおいて、配列要素を文字列に変換して表示する方法について説明します。
  • 上記のプログラムでは、配列要素を文字列に変換するために、Stringクラスを使用しています。
  • 具体的な手順としては、配列要素を順番に取り出して文字列に追加し、最後に完成した文字列を表示することで、要素をつなげた文字列を生成しています。
回答を見る
  • ベストアンサー

class Odd{

class Odd{ public static void main(String argv[]){ int num[] = {2,3,4,8,4,2,6,9,12,20}; <空欄(複数行)> } } 上記のプログラムのはしくれがあるのですが、以下の問題があります。 配列要素の最初から最後までを文字としてつなげた文字列(すなわち”234842691220”)を生成して文字列変数numtextにいれ、それを画面に表示するとき、<空欄(複数行)>にいれるべきプログラムを答えよ。 自分なりに題意を考えたのですが、100%理解できないままとりあえず自分なりに作ってみたのですが、以下のものは正しいのか教えてください。 あとできれば題意が組み取れてなかったら教えていただくとありがたいです。 <空欄(複数行)> String numtext="234842691220"; System.out.println(numtext);

  • Java
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • akito0417
  • ベストアンサー率20% (55/266)
回答No.2

用はその空欄(複数行)に文字列を作成して、画面に表示するコーディングをすればいいんですよね? 答えをそのまま教えるのもあれなので・・・。 String numtext = ""; for(繰り返し条件) { numtext += num配列の0番目~9番目 } System.out.println(numtext); これで多分出来るでしょう

cuteprison
質問者

お礼

すごくわかりやすく理解できました。 不完全に教えてくださって良かったです。 完全だとやっぱり勉強にはならないかなと思っていたのでね ましてやこんなに数行だったら。。。

その他の回答 (2)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

初心者っぽくない書き方の例。 StringBuilder numtext = new StringBuilder(); for (int n: num) numtext.append(n); System.out.println(numtext);

cuteprison
質問者

お礼

ちょっと難しかった。。。 今の段階で理解できないのでjavaのAPIを見て調べます。

  • tohru999
  • ベストアンサー率49% (76/154)
回答No.1

問題の意味わかってます? int型 num配列を元に文字列を作れって問題ですよね。 String numtext="234842691220"; System.out.println(numtext); は、全然num配列使ってませんよね。

cuteprison
質問者

お礼

言われてみればそうです。もっと慎重に熟考すべきでした。

関連するQ&A

  • classが作られない

    javaをはじめて2日目です。以下がコンパイルしたところ、エラーがでなかったのですが、classが作られていません。何回か試したのですが、参考書には、 >javac Sample2.java とし、もう一度ディレクトリ名が出れば、コンパイル完了とあるのですが、classが作れていないので、実行が出来ません。 すみませんが、教えてください。 //画面に文字を出力するコード class Sample1 { public static void main(String args[]) { System.out.println("ようこそjavaへ!"); System.out.println("javaをはじめましょう!"); } } ちなみに保存名は、Sample2.javaです。

    • ベストアンサー
    • Java
  • 文字列について

    適当な文字列をキーボードから入力し、次に別の適当な整数numをキーボードから入力する。次に先に入力した文字列のnum番目からnum個の文字だけ逆順になるように文字列を並び替えた文字列を新たな文字列変数に代入し、その結果を画面に出力するプログラムを下記で作成したのですが、文字列時代が逆になってしまいます。どうしたら、 結果    文字列を入力      My name is Taro Sandai.    整数を入力     10    My name isdnaS oraT になるのですか? import java.io.*; class mojiretu4 { public static void main(String args[]) throws IOException { System.out.println("文字列を入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("整数を入力"); String str2 = br.readLine(); int num = Integer.parseInt(str2); StringBuffer sb = new StringBuffer(str1); sb.reverse(); System.out.println(sb);

    • ベストアンサー
    • Java
  • Scanner と BufferedReader

    javaでキーボードからの入力を格納するやつがあって、 Scanner と BufferedReaderのやり方がありますが、これはどう違うのでしょうか? それとも全く同じでしょうか? たとえば、 ■一つ目 import java.io.*; class Sample3{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("文字列を入力してください"); String str1=br.readLine(); System.out.println("検索文字を入力してください"); String str2=br.readLine(); char ch=str2.charAt(0); int num=str1.indexOf(ch); if(num !=-1) System.out.println(str1+"の"+(num+1)+"番目に「"+ch+"」が見つかりました"); else System.out.println(str1+"に「"+ch+"」はありません"); } } ■二つ目 import java.util.Scanner; class Sample4{ public static void main(String[] args){ Scanner stdIn=new Scanner(System.in); System.out.println("文字列を入力してください"); String str1=stdIn.nextLine(); System.out.println("検索文字を入力してください"); String str2=stdIn.nextLine(); char ch=str2.charAt(0); int num=str1.indexOf(ch); if(num !=-1) System.out.println(str1+"の"+(num+1)+"番目に「"+ch+"」が見つかりました"); else System.out.println(str1+"に「"+ch+"」はありません"); } } これら2つは全く同じ実行結果が得られると思うのですが、 Scanner と BufferedReader の使い分けるべき場合などあるのでしょうか?

    • ベストアンサー
    • Java
  • 文字列について(続き)

    文字列について、あれから私がベストアンサーに選んだ回答を元に下記のプログラムを作成したのですが私が作成したプログラムで出た結果が下記のようになります。実行例のような結果を出すにはどのようにすればいいのですか?Java初心者なのでお願いします。 作成したプログラムで出た結果 文字列を入力 My name is Taro Sandai. 整数を入力 10 My name is.iadnaS oraT 実行例 文字列を入力 My name is Taro Sandai. 整数を入力 10 My name isdnaS oraT ai. import java.io.*; class K2 { public static void main(String args[]) throws IOException { System.out.println("文字列を入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("整数を入力"); String str2 = br.readLine(); int num = Integer.parseInt(str2); String str3 = str1.substring(0,num); String str4 = str1.substring(num); StringBuffer str5 = new StringBuffer(str4); str5.reverse(); System.out.println(str3+str5); } }

    • ベストアンサー
    • Java
  • いつまでも偶数の入力を求めるプログラム

    こんにちは。プログラマーの見習いで、現在勉強中です(学生ではなく社会人です)。解答のないテキストで、いつまでも偶数の入力を求めるプログラムを作っているのですが、うまくいきません。どこが悪いか教えて頂けないでしょうか?よろしくお願いします。 //文字列を入力するためのパッケージをimport import java.io.*; class opt53{ public static void main(String[] args) throws IOException{ //文字列を入力するための準備 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("偶数を入力してください"); //入力された文字列を変数guuに格納 String guu = br.readLine(); //入力された文字列をint型に変換 int num = Integer.parseInt(guu); } while (num%2!=0); System.out.println("正しく偶数が入力されました。"); } }

    • ベストアンサー
    • Java
  • ビット演算子が使えない。

    こんにちは現在Javaをやっているいのですが、 //計算を行うプログラムです。 public class keisan{ public static void main(String args[]){ int num1=10; int num2=15; System.out.println("num1とnum2にいろんな演算を行っています。"); System.out.println("num1+num2は"+(num1 | num2)+"です。"); } } コンパイルはできましたが、 Exception in thread "main" java.lang.NoClassDefFoundError: keisan[ とエラーがでてきます。どうしたら良いのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • equals()について

    プログラミングの勉強をしています。 endと入力するとプログラムを終了すると言ったプログラムです。 以下のプログラムなのですが、 import java.io.*; class Ex58{ public static void main(String args[])throws IOException{ String s=""; String t = "end"; int number = 0; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(!s.equals(t)){ System.out.print(">"); s = br.readLine(); System.out.println("入力された文字列は" + s + "です。"); System.out.println((number+1) + "番目の文字は" + s.charAt(number) + "です。"); System.out.println((number+2) + "番目の文字は" + s.charAt(number+1) + "です。"); System.out.println("文字列の長さは" + s.length() + "です。"); } } } このプログラムの中で System.out.println((number+1) + "番目の文字は" + s.charAt(number) + "です。"); System.out.println((number+2) + "番目の文字は" + s.charAt(number+1) + "です。"); System.out.println("文字列の長さは" + s.length() + "です。"); を書き加えたところendが入力されても処理が終了しない プログラムになってしまいました。 どなたか助言をよろしくおねがいします。

    • ベストアンサー
    • Java
  • ガーベッジコレクションについて

    ガーベッジコレクションについて勉強してるんですが、定義は理解できたんですが、以下のプログラムの意味が全く理解できません。どこからどこにいってるのかがさっぱりです。簡単にでもいいんで、このプログラムの流れを教えていただけませんか? 特にgetObject(); System.gc();の意味を教えてもらえるとありがたいです。 コンストラクタ、インスタンスなどは理解しています。 class Garbage01{ static int num = 0; public Garbage01(){ num++; } public void finalize(){ num--; } } public class Garbage01Use{ public static void main(String[] args){ Garbage01 g = null; for(int i = 0 ; i < 10; i++){ g = new Garbage01(); } System.out.println(Garbage01.num); getObject(); System.gc(); System.out.println(Garbage01.num); } private static void getObject(){ for(int i = 0 ; i < 100000000 ; i++){    new Object(); } } }

    • ベストアンサー
    • Java
  • = $argv[1];はどんな働きがありますか!?

    <?php // stringcast.php if (!isset($argv[1])) { exit; } $num = $argv[1]; if ($num == 100) {  ←(1) echo "num is 100", PHP_EOL; } else { echo "num is not 100",PHP_EOL; } このプログラムを %php stringcast.php100 のように実行する、引数の100はPHP文字列型として渡されます。  したがって、(1)の比較では、文字列"100"の入って変数$numと、整数100が比較されるため、 文字列"100"は整列100へとキャストされまた後、比較演算が実行されます。  今回は、動作の結果に違いはありませんが、ここで整数同士を比較しているつもりでも実際には 文字列を整数の比較が行われ、キャストが発生している、という挙動を把握しているか、していない かではなく大きな違いがあります。引数とし期待している値の型が決まっている場合、明示的にキャ ストを行い、厳密な比較演算子(===など)を用いるほうが安全です。 -------------------------------------------------------- 以上、参考書をまるごと入力しました。  そこで $num = $argv[1];で!$argv[1]とはこのプログラムではどんな働きがあるのでしょうか!?  ($argv[1];を$numに代入だと思います。間違っていたなら御免なさい。)  宜しくお願いします。  なお・批判的なご回答はお控えくださいませ。  

    • ベストアンサー
    • PHP
  • 誰か教えてください。

    コマンドライン上で 2つ整数いれて プラスを入れてもエラーにならないプログラムが組みたいのですがどうすればいいのでしょうか? 小数点を入れた場合はエラーにしたいです。 全くわかりませんので申し訳ないですがご回答よろしくお願いします。 public class Sample20 { public static void main(String[] argv) { if(argv.length>=2) { int a,b; try { a=Integer.parseInt(argv[0]); b=Integer.parseInt(argv[1]); System.out.println(a+b); } catch(NumberFormatException e) { //文字が入力された時のエラー System.out.println("エラー:整数を2個入力して下さい"); } } else { //入力がされていなかった時のエラー System.out.println("エラー:整数を2個入力して下さい"); } } }

    • ベストアンサー
    • Java