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

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

ただいまの
回答率

90.62%

  • Java

    13525questions

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

配列のコピー

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 629

kimura

score 52

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

    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」と順番に打ち込みますとコンソールで実行されたのが分かります。

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

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

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

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

申し訳ありませんが宜しくお願い致します。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • MakotoMiyazaki

    2015/08/28 17:52

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

    キャンセル

  • kimura

    2015/08/28 20:10

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

    キャンセル

回答 2

checkベストアンサー

0

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/28 20:19

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

    キャンセル

  • 2015/08/28 20:23

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

    キャンセル

0

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/28 20:23

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

    キャンセル

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

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    java arraysクラスの書き換え

    java初心者です。 文字列の配列のプログラムを作成しました。 指定された色の名前を入れると○か×かが表示される以下のプログラムを作成したのですが、arraysクラスを使わないプロ

  • 解決済

    char配列

    char配列に関して、以下のプログラムを作成しました。 import java.util.Scanner; public class Sample {     public s

  • 解決済

    javaのカウントアップについて

    javaのEclipseを使っています。 カウントアップ後、表示する度に、 1, 2, 3, …と表示するプログラムを作りたいです。 プログラム例を教えて下さい。 2つのインス

  • 解決済

    System.out.printからSystem.out.writeへの書き換え

    単純な足し算プログラムの書き換えができません。 System.out.printではなく、System.out.writeを使用するプログラムに書き換えたいのですが、 うま

  • 解決済

    for文を使用したバブルソート

    前提・実現したいこと 以下の条件を持つプログラムを作成しようとしています。 1.『end』が入力されるまで入力値を受け付ける 2.『end』が入力された後、入力値をバブル

  • 解決済

    java replaceでcharが文字化けする

    前提・実現したいこと int型の数値をchar型にキャストし、それを二番目の引数にしてreplaceをした文字列が文字化けしてしまう問題が発生しました。 該当のソースコード

  • 解決済

    2次元配列のコピーと出力

    前提・実現したいこと 要素数が3つで4つの値が入る配列yを作成し、それをコピーした配列xを作成し, 任意の数箇所に別の値を代入しyとxの要素を出力せよ. コンソール↓ 4 

  • 解決済

    【Java】末尾に余白を出力させない方法

    前提・実現したいこと 数列を出力する際、数字と数字の間だけに余白を入れたい。(末尾には余白を入れない) 発生している問題 末尾にも余白が入ってしまう。 該当のソースコード

同じタグがついた質問を見る

  • Java

    13525questions

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