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

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

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

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

Q&A

解決済

2回答

1788閲覧

配列のコピー

kimura

総合スコア59

Java

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

0グッド

1クリップ

投稿2015/08/28 08:33

素人で分かりにくいかもしれませんが質問させていただきます。

public static void main(String[] args) { String [] s = new String[5]; for(String a : s){ System.out.print(a + " "); } System.out.println(""); for(int i=0; i<s.length; i++) { s[i] = Input.getString("文字列"); } for(String a : s){ System.out.print(a + " "); } String [] s2 = new String[s.length]; for(int i=0; i<s.length; i++){ s2[i] = s[i]; } System.out.println(""); System.out.println("配列s2の内容"); for(String a : s2){ System.out.print(a + " "); } }

}


本を読みながら上記の配列のコピーの勉強をしていました。

キーボードをタイプしてみるとおかしいのです。

アルファベットを「a」~「e」と順番に打ち込みますとコンソールで実行されたのが分かります。

ですが、日本語で「あ」~「お」と打ち込みますと「う」を打ち込んでもコンソールに表示されず画面が変わらない状態になります。

適当に何度もタイプとエンターを繰り返すと、適当な日本語がコンソール上に表示されるときもありますし、全く反応がないときもあります。

どこがいけないのか分からず悩んでいます。

皆様から知恵をお貸しいただければ助かります。

申し訳ありませんが宜しくお願い致します。

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

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

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

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

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

MakotoMiyazaki

2015/08/28 08:52

ぱっと見た感じだと、特におかしなところはありませんが Input.getString("文字列"); というのは、何か独自で作られたクラスでしょうか? おそらく、この文字列取得部分のロジック内で何か起きているので Inputクラスの実装内容を追記してください。
kimura

2015/08/28 11:10

ご連絡ありがとうございます これが全てです。 分かりにくくてすいません
guest

回答2

0

ベストアンサー

プログラミングラボ
こちらのInputクラスを利用されているものと思います。

また、Eclipseで実行したとき
イメージ説明
この位置にカーソルが来ますが、半角の場合は自動でカーソルが一番右に行くので正しく入力できますが
全角の場合、一番右までカーソルを手動で持っていかなければ、kimuraさんと同じ現象が発生します。

しかし、コマンドプロンプトでは再現しません。

プログラムの問題というよりは、実行する環境の問題のように見えます。

投稿2015/08/28 11:13

anonymouskawa

総合スコア856

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

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

kimura

2015/08/28 11:19

ご回答ありがとうございます。 手動でカーソル移動すれば出来ました。 全角はカーソル移動しないといけないのは知りませんでした。 大変勉強になりました。 ありがとうございました。
anonymouskawa

2015/08/28 11:23

>全角はカーソル移動しないといけないのは知りませんでした。 私も知りませんでした…。 こういう質問から得られる知識もあるので、私も勉強になります。
guest

0

多分、Input.getStringは参考書が提供しているクラスですね。
このクラスはそもそも英数字等にしか対応していないのでは無いでしょうか。日本語入力に対して正常な動作を期待し無いほうがよさそうです。

投稿2015/08/28 10:03

yona

総合スコア18155

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

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

kimura

2015/08/28 11:23

ご回答ありがとうございます。 初歩的なミスでして申し訳ありません。 参考書通りのInput.getStringで書きましたが、日本語の場合の推奨はありますか? ご参考までに教えていただけましたら助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問