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

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

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

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

Q&A

解決済

1回答

695閲覧

string型の配列

yusuke_3_17_yu

総合スコア2

Java

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

0グッド

1クリップ

投稿2021/07/12 11:50

編集2021/07/12 14:59

問題
5文字を5回入力します。
5回入力終了後に全ての文字列を最後に入力されたものから順場に表示させる

string型の配列のコードを書いた後にどようにして、最後に入力されたものから順場に表示させるか教えて頂きたいです。
自分で考えたコードになります。
コンパイルした時、9行目ですでにmainメソッドでiが定義されていますと表示されます。
わたしの認識ですと、9行目をiにしないと、moji[i]を呼び出すことができないと認識しています。
改善するためのアドバイスを頂けますと幸いです。

import

1 2public class Kiso2_3 { 3 public static void main(String[] args) { 4 String[] moji = new String[5]; 5 Scanner in = new Scanner(System.in); 6 System.out.println("5文字入力してください。"); 7 for (int i = 0; i < 5; i++){ 8 moji[i] = in.next; 9 if (i == 4){ 10 for(int i = 4; i >= 0; i--) { 11 System.out.println(moji[i] + "です。"); 12 } 13 } 14 } 15 16 } 17}

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

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

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

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

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

maisumakun

2021/07/12 11:50

今はどこまでコードを書きましたか?
gentaro

2021/07/12 12:00

https://teratail.com/help/avoid-asking 何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。
dodox86

2021/07/12 12:04

普通に考えて、回答もいただいている先の質問を解決してからの話だと思いますが質問者さんにとっては違うのでしょうか。 [java 全ての文字列を表示させる] https://teratail.com/questions/348794
BeatStar

2021/07/12 12:13

プログラミングというのは『こう書けばいい』……ではないです。 また、たかだか一括処理程度ですら1~2日ぐらいは使います。 それで、『自分は努力せずに』、『他人がやるのが当たり前』なのでしょうか。 努力したくないなら白紙で出しましょう。 私も興味のない科目は白紙で出していたし。
yusuke_3_17_yu

2021/07/12 12:57 編集

お忙しい中数々のご指摘ありがとうございます。 また言葉足らずで申し訳ございません。 今回の質問ですが、先に自分で考えてコードを書き、参考書を拝見してもわからなかった為、質問させて頂きました。 また先の質問ですが、理解しましたとコメントをさせて頂いております。 皆様のご指摘はごもっともです。今回のご指摘で努力不足だと実感しました。自分で考えてみます。 ありがとうございました。
m.ts10806

2021/07/12 13:24

質問編集して「先に自分で考えてコードを書き、参考書を拝見してもわからなかった」ことが誰にでも伝わるようにしてください。 客観的に読んで伝わるようになってると思いますか?書いてないことは誰にもわかりません。赤の他人なので。
maisumakun

2021/07/12 13:50

> 今回の質問ですが、先に自分で考えてコードを書き、参考書を拝見してもわからなかった為、質問させて頂きました。 書いたコードは提示していただけませんか?
BeatStar

2021/07/12 14:16

質問者さん 別に『わからない』ということ自体は問題ではありません。 ご自分の質問を『第三者的視点で』、フラットな状態で読んでみてください。 つまり、自分ではなく、後輩や同級生、あるいは弟や妹とかが質問してきているような感じです。 『んー、どこまでできたの?』とか思いませんか? ましてや赤の他人で、ネットを介しての、顔も知らない人から言われるわけです。 『基礎からやれ』系になるのは当然でしょう? 同じ『わからない』でも、 ■ 参考にしたサイトのURL ■ 自分なりの解釈 ■ 自分なりのコード ■ 試したこと(およびその結果) とかを書いてあるとどうでしょうか。 回答者は質問者と同じ環境にある……わけではありません。 わからないというのも100人いれば100通り…は言い過ぎでも、それぐらいはある。 それを『初心者だから』とかって言うのは言い訳にしか聞こえません。 まずは『質問方法を工夫』しましょう。 そうすれば回答しやすいです。
BeatStar

2021/07/12 15:23

エラーメッセージは省略せずに、ちゃんと書いてください。
Zuishin

2021/07/12 22:55

> また先の質問ですが、理解しましたとコメントをさせて頂いております。 ベストアンサーを選ばないのはなぜ?
guest

回答1

0

ベストアンサー

んー、一応自分なりにやっておられるようなので軽くアドバイスを。

ヒント: 過去回答

まずは上記のヒントを読んで考えてみてください。


for文で使われる変数はiが多いですが、
それは『これじゃないとダメ』…ではなく、あくまで慣習的なものです。

最初にHello world ってやつやりますよね。

でも、あれは必ずアレではありません。

自分の名前や、"Hello Java"とかでもいいのです。

あくまで慣習的なものです。

for文でやるのはiteratorの頭文字とも、intの頭文字とも言われています。
(詳しくは分かりませんが)

単に慣習的なものなので、他の変数名でもOkです。

そして、上記のリンク先にあるように、
コードを読んでみましょう。

そうすると、外側のforでiがすでにあるのに、内側でもさらにiを宣言しています。

そうすると重複してしまいますね。

だからエラーになる。

投稿2021/07/12 15:22

BeatStar

総合スコア4962

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

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

yusuke_3_17_yu

2021/07/12 22:32

アドバイス頂きありがとうございます。 もう一度考えてみます。
BeatStar

2021/07/13 01:23

変数等は『スコープ』を意識すると良いですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問