LoginSignup
shun03
@shun03

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Javaの特定の値の取り出し

解決したいこと

Javaで、配列について勉強しており、
ソースを書いて実行をすると、以下の様な結果になります。
ここでさらに以下の文言を加えたいのですが、
何時間調べても上手くいきませんでした。
もしありましたら、解決方法をお願いします!

【聖徳太子】
【岩倉具視】
【高橋是清】
【板垣退助】
【伊藤博文】
【夏目漱石】
【新渡戸稲造】
【福沢諭吉】
【野口英世】
【樋口一葉】 

↓さらに追加したい文言(nと〇〇は取り出した値が入る)              
n番目の人は【○○】です

該当するソースコード

public class Hairetsu {

    public static void main(String[]args) {

        String[] names;
        names = new String[10];
        String[] names = {"【聖徳太子】","【岩倉具視】","【高橋是清】","【板垣退助】","【伊藤博文】",
                "【夏目漱石】","【新渡戸稲造】","【福沢諭吉】","【野口英世】","【樋口一葉】"};

    for (i = 0; i < name.length; i++) {
          System.out.println(name[i]);
         }
      }
   }


自分で試したこと

if文を使うなどしてみましたが、上手くいきませんでした。

0

3Answer

1番目の人は【聖徳太子】です
2番目の人は【岩倉具視】です
3番目の人は【高橋是清】です
...

こういう出力にしたい、ということでしょうか?
であればこのように文字列を結合することで可能です。

System.out.println(i + 1 + "番目の人は" + names[i] + "です");
0

Comments

  1. @shun03

    Questioner
    ご回答いただきありがとうございます。
    見落としがあったようです、申し訳ございません。

    ちなみにですが、例えば
    【聖徳太子】
    【岩倉具視】
    【高橋是清】
    【板垣退助】
    【伊藤博文】
    【夏目漱石】
    【新渡戸稲造】
    【福沢諭吉】
    【野口英世】
    【樋口一葉】              
    3番目の人は【高橋是清】です

    のように、11行目の部分だけ特定の値を取り出して上記の様に表示することは可能でしょうか?
    無理を承知でこのような質問をしてしまい申し訳ございません。

配列の各要素には0から始まる添字(インデックス)が割り当てられていて、添字を指定することで特定の要素にアクセスできます。

配列要素へのアクセスとインデックス
Arrays (The Java™ Tutorials > Learning the Java Language > Language Basics)

int num = 3; // 任意の数値
System.out.println(num + "番目の人は" + names[num - 1] + "です"); // 3番目の人は【高橋是清】です

11行目の部分に、ということならfor文の後で出力する形になると思います。

0

Comments

  1. @shun03

    Questioner
    ご回答ありがとうございます。

    int index = 3; // 任意の数値
    System.out.println(index + "番目の人は" + names[index - 1] + "です"); // 3番目の人は【高橋是清】です

    と入力すると、index = 〇〇の部分を任意の数値に変えることで各々の値を引き出すことができました。ありがとうございました!
  2. すいません、「int index = 3;」=>「int num = 3;」でした。
    解決したようでよかったです。
  3. @shun03

    Questioner
    あ、すみません。
    疑問が出てきたのですが、これをコマンドラインの引数として処理する場合、
    つまりはエクリプス>実行の構成>引数で値を入力して11行目の表示をさせる際は、

    int num = Integer.parseInt(args[0]);
    String names = args[1];

    Integer.parseInt(args[0]);
    System.out.println(num + "番目の人は" + names[i] + "です");

    をすればよいのでしょうか。
    先ほどから試しているんですが、どうにもエラーが出てきて解決しません...

Your answer might help someone💌