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

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

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

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

Q&A

解決済

2回答

1218閲覧

System.in.read、System.out.writeを使用して、配列作成

gpsgpsgps

総合スコア20

Java

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

0グッド

0クリップ

投稿2016/05/16 13:09

System.in.readを使用して入力された複数の文字列を配列に格納し、
System.out.writeを使用して表示するプログラムを作成したいです。

「配列のサイズ=System.in.readで入力した文字数」
という形にしたいのですが、どのような考え方で作成すればよいでしょうか。

ex)
abc123 ←入力
abc123 ←出力

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

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

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

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

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

KiyoshiMotoki

2016/05/16 13:32

わざわざ配列を介して入出力を行うプログラムを作りたい理由は、何ですか? BufferedReader クラスの readLine メソッドを使用すれば、もっと簡単に意図する動作をするプログラムを作れるはずですので。
guest

回答2

0

ベストアンサー

一つの文字を読み込むたびに配列の長さを変化させることは基本的にはできません。

ただ、一つの文字を読み込む度に読み込んだ文字の長さを記録することはできます。また、その度に「新しい」その長さの配列を所持することも一応はできます。

いくつか方法はありますが・・・シンプルなものから
「List<String>を使用する。」
・毎回Stringに直した文字をaddで突っ込む
・配列化する。
「配列を毎回作る」
・ひとつ前までで作成されている配列のサイズが1だけ大きい配列を作成する。
・今までの配列を入れる。最後のインデックスに読み込む。
・対象となる変数にその配列を指定する。
「大きい配列を最初っから作っておく」
・大きい配列に読み込みをしていく。
・読み込んだ数を記録しておく
・最終的に「配列のサイズ=System.in.readで入力した文字数」としたい時にそのサイズの配列を作成してコピーする。

他にも方法はあると思いますが。

この「手段」の「目的」は何でしょう「本来の目的」から脱線している気がします。
「目的」と「手段」を明確にすると良いですよ。

投稿2016/05/17 03:11

RyotaKondo

総合スコア94

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

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

0

入力処理が終わるまで文字列の長さはわからないはず。つまり、プログラムが実行されるまでこの長さは未知条件のはずです。したがって、先に配列のサイズを決めてはおけないので少し変わったことが必要になります。

それにしても面白い疑問ですね。入力処理をエラーチェックしながら行うとか、可変長配列の概念が出てきますよ。

投稿2016/05/16 13:21

HogeAnimalLover

総合スコア4830

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問