🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Java

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1971閲覧

for文とif文を使って配列の入力と出力を行う

i_oy

総合スコア3

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Java

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/12/17 14:54

編集2020/12/18 00:41
package sample; import java.util.Scanner; public class Sample01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("人数:"); int num = sc.nextInt(); String[] names = new String[num]; for(int i=0;i<names.length;i++) { System.out.print((i+1)+"人目;"); names[i] = sc.next(); } System.out.print("氏名:"); String name = sc.next(); for(int i=0;i<names.length;) { if(name == names[i]) { } System.out.println(name+"は"+i+"人目です"); break; } } } ```人数:4(配列の要素を入力) 1人目:青木(名前を入力) 2人目:佐藤(名前を入力) 3人目:鈴木(名前を入力) 4人目:加藤(名前を入力) 検索する人物名:佐藤(検索対象の名前を入力) 佐藤は2人目にいます。 氏名を登録する人数分配列を作成し、その配列に氏名を入力する。 続いて、その配列の中から検索する氏名を入力して、その氏名が何人目に入力されたかを表示するという問題が分かりません。 ### 最後の名前を入力した後にその名前を格納した添え字を出力する文が分かりません。 途中の式自体がまるまる違っているのでしょうか? どなたかコードを書いてくれると嬉しいです

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

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

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

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

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

plasticgrammer

2020/12/18 00:15

<code>ボタンを使って、書式が適用されたコードの挿入を行ってください。
i_oy

2020/12/18 00:41

これで大丈夫ですか?
guest

回答1

0

ベストアンサー

作業依頼に受け取れるのでコードの提供は致しませんが・・・

2つ目のfor文での変数iのインクリメントを追加して
System.out.printlnとbreakをifブロックの中に入れるだけで問題ないかと思います。

※momon-gaさんの指摘による追記
記述されているifの条件式では文字列の比較はできないため
【Java入門】文字列(String)を比較する方法を参考に変更してみてください。

ただ例に上がっている1人目の'青木'を入れた場合、インデックスが0で
System.out.printlnの時に青木は0人目ですとなると思うので、そこの対処は頑張ってみてください。
※青木に関わらず出力時のn人目のところには対処が必要
(既に1つ目のfor文でできてそうだけど)

この課題にどこまで求められているのかはわかりませんが、配列内に存在しない名前を入力された時に
存在しないことを出力する方法なども考慮していくといい勉強になるかもしれませんね。

投稿2020/12/18 01:58

編集2020/12/18 02:26
k_n_h_r

総合スコア58

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

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

momon-ga

2020/12/18 02:15

文字列比較は、equals使わないと・・・も追加で。
k_n_h_r

2020/12/18 02:16

momon-gaさん ありがとうございます。 おっしゃる通りですね、回答に追記しておきます。
i_oy

2020/12/18 06:36

ありがとうございます。 解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問