質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

1054閲覧

二次元構造とfor文

ashura

総合スコア17

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2021/07/02 17:48

編集2021/07/05 15:22

JAVAのfor文二次元配列を用いて以下の出力結果を得たいです。
京都/ 一人暮らし/ 19歳 / 男
東京/実家暮らし/ 16歳 / 男
大阪/実家暮らし/ 12歳 / 女
奈良/一人暮らし/ 23歳 / 男
福岡/実家暮らし/8歳 /女

発生している問題・エラーメッセージ
実際に、コードを書いたところ、縦並びに文字が並んだだけでした。ですので、上記のような四つの要素を四行で表示させるのが目標です。また、文字の間に『/スラッシュ』を表示させる方法も分からなかったです。

該当のソースコード
JAVA
ソースコード
String[][] human = {
{"京都" ,"一人暮らし" ,"19歳" ,"男"},
{"東京" ,"実家暮らし" ,"16歳" ,"男"},
{"大阪" ,"実家暮らし" ,"12歳" ,"女"},
{"奈良" ,"一人暮らし" ,"23歳" ,"男"},
{"福岡" ,"実家暮らし" ,"8歳" ,"女"},
}
for (int i=0; i<human.length; i++){
for (int j=0; j<human[i].length; j++){
System.out.printin(human[i][j]);
}
}

試したこと
検索をして、二次元配列の文字をfor文を用いて表示させようと試みましたが、結果は目標達成に至らなかったで。

また問題文の条件として
「human.length」「human[i].length」を用いること。for文を二つ組み合わせることがあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/02 21:20

何がやりたいのか不明です。質問編集できるので「質問するときのヒント」を元に再構成してください。 できれば質問テンプレート使っていただきたく。
dodox86

2021/07/03 02:33

> 実際に打ち込んだコードは以下の通り 打ち込んだだけではそもそも実行できません。実際、System.out.prinin などと言うメソッドは存在しないので、コンパイルエラーです。
kazuma-s

2021/07/04 01:37

「}以下のような表示をさせたいです。」とありますが、 "** " があったりなかったり、"/" の前後にスペースがあったりなかったり、 どのようなルールで表示させたいのですか?
guest

回答2

0

ベストアンサー

Java

1class Main { 2 public static void main(String[] args) { 3 String[][] human = { 4 {"京都", "一人暮らし", "19歳", "男"}, 5 {"東京", "実家暮らし", "16歳", "男"}, 6 {"大阪", "実家暮らし", "12歳", "女"}, 7 {"奈良", "一人暮らし", "23歳", "男"}, 8 {"福岡", "実家暮らし", "8歳", "女"}, 9 }; 10 for (int i = 0; i < human.length; i++) { 11 String sep = ""; 12 for (int j = 0; j < human[i].length; j++) { 13 System.out.print(sep + human[i][j]); 14 sep = "/"; 15 } 16 System.out.println(); 17 } 18 } 19}

書き方はこれ以外に何通りもあります。別解が知りたいですか?

投稿2021/07/05 15:23

kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ashura

2021/07/05 15:35

回答いただきありがとうございます。コードを参考に書き直したところ、目標の出力ができました。この回答のみで十分です。ご教授いただきありがとうございました。
kazuma-s

2021/07/05 15:42

目標の出力ができただけでは解決になりません。 コードの意味を全部理解しましたか?
ashura

2021/07/06 14:50

System.out.plintとprintinの違いが理解できていなかったようです。また、文字の表示の仕方についても復習しなければならないと感じました。意味自体は、理解ができました。回答いただきありがとうございました。
guest

0

コードを見たところあまり二次元配列をよく理解していないようだったので他の方法をとることをお勧めします。
このコードはただの配列を使っています。

public class Sample{ public static void main(String[] args){ String[] where = {"京都","東京","大阪","奈良","福岡"}; String[] living = {"一人","実家","実家","一人","実家"}; int[] old = {19,16,12,23,8}; String[] gender = {"男","男","女","男","女"}; for(int i=0;i<5;i++){ System.out.println(where[i]+"/"+living[i]+"暮らし/"+old[i]+"/"+gender[i]); } } }

投稿2021/07/03 23:23

cretter

総合スコア91

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ashura

2021/07/05 14:28

回答していただきありがとうございます。ですが、二次元配列を用いてプログラムを完成させることが目標ですので、ご教授いただけると幸いです。説明文の詳細性がかなり欠落していて申し訳ないです。
dodox86

2021/07/05 14:35

@質問者さん この質問(問題)は2次元配列を使っていますが、本質的にはStringの1次元の配列の要素をどう出力すれば要望の結果になるか、ということです。もっと砕いて言うと、「文字列の扱いや出力」だけの問題に思います。
ashura

2021/07/05 15:21

すいません問題文をよく見た所、「human.length」「human[i].length」を用いてコードを書くような表記がありました。度々回答いただいているのに申し訳ございません。また、問題文には、for文を二つ組み合わせるとの表記がありました。ご教授のほどよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問