2016-08-28 15 views
0

文字列入力を受け取り続けるプログラムを作成したいのですが、 "。"どのようにそれを作るためにどのようなアイデアが入力されますか?ドットが入力されるまでの文字列入力

文字列の配列を作成する必要があることを理解していますが、ユーザーが入力する文字列の数がわからないと、長さはどのくらいですか?

私はこのウェブサイトを初めて使用したので、間違いがありましたらお許しください。

ありがとうございます。

編集: ここに私を混乱させるコードがあります。私は点を入力し続けますが、forループは決して壊れません。また、長さは現在10ですが、入力がドットになるまで無制限にするにはどうすればいいですか?

Scanner s=new Scanner(System.in); 
    String[] x = new String[10]; 
    for(int i=0;i<10;i++) 
    { 
     x[i]=s.next(); 
     if(x[i]==".") 
      break; 
    } 
+0

ようこそスタックオーバーフロー! [ツアー]を見て周りを見て、[ヘルプ]、特に[*良い質問をするにはどうすればいいですか?*](/ help/how-to-ask) –

+0

*文字列配列を作る必要がありますが、ユーザーが入力する文字列の数がわからないと、長さはどうなりますか? "*まあ、配列が必要だとはっきりとは分かりませんが、 JavaScriptの標準配列はあらかじめ定義された長さを持つ必要はなく、拡張することができます。 (これは本当に配列ではないからです(http://blog.niftysnippets.org/2011/01/myth-of-arrays.html)* [開示:私の貧血の小さなブログの投稿です] *。) –

+0

以下のコードを投稿しました。ご覧ください。 – Heshamy

答えて

1
Scanner s=new Scanner(System.in); 
ArrayList<String> inputs = new ArrayList<>(); 
while (true) { 
    inputs.add(s.next()); 
    if(inputs.get(inputs.size().equals(".")) 
     break; 
} 

importArrayListに覚えておいてください。 ArrayListの詳細については、documentationを参照してください。 java ==は、参照の比較に使用される演算子です。あなたの新しいStringは "。"と同じ参照を持ちません。コンパイル時に作成されます。

equals()このメソッドは、オブジェクトが等しいかどうかを比較するために使用されます。 Stringの場合、charとcharとを比較して、すべて同じかどうかを確認します。はいの場合、trueを返します。そうでなければFalse。

常にあなたのクラスのpublic boolean equals()@Overrideを覚えておいてください。あなたは、特定のクラスの反対することが何を意味するのかを決める必要があります。あなたがthisトピックを読んでいると便利です。それはそこに広く記述されています。

+0

この質問のような明白な重複を避ける。代わりにdupeとしてフラグを立てる。 – Tom

+1

@Tomにフラグが立てられています。私は、このトピックがjsの回答が添付されたばかりの 'javascript'タグ付きタグを発見しました。ジャバスクリプトの回答だけでロックされてしまうのは残念です。 – xenteros

関連する問題