C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 一行に複数の文字が入った入力


(過去ログ 143 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■84085 / inTopicNo.1)  一行に複数の文字が入った入力
  
□投稿者/ kake (1回)-(2017/05/14(Sun) 03:22:54)

分類:[C#] 

入力した数字を計算するプログラムを作りたいのですが、一行に複数の数字が入っているとわからなくなります。(入力例:9 9)
一行に数字が一つだけなら簡単ですが、二つ以上の場合どのように作ればいいのか教えてください。お願いします。
引用返信 編集キー/
■84086 / inTopicNo.2)  Re[1]: 一行に複数の文字が入った入力
□投稿者/ 774RR (525回)-(2017/05/14(Sun) 06:46:13)
何度もこの掲示板で書いているけど、要望が出てきたら仕様に落とし込んでから実装。

2つ以上の数値を計算させたい=要望(やりたいこと)
これを仕様=「コンピュータにできること」に落とし込んでからでないと
実装=プログラムにすること、はできない。

要望→仕様、への変換の際には分析が必要。

1つの入力とは何か? Enter つまり改行で区切られた入力のこと。
2つ以上の数値とは何か?「数値」「区切る文字」「数値」と入力があったとき、入力を分離できる。
「数値」とは何か?正の整数しか扱わないなら「数字文字」の1回以上の繰り返しのこと
「区切る文字」とは何か?スペース類の1回以上の繰り返しのこと。カンマ類を含めるかどうかは要望次第。
スペース類とは? スペースやタブや、その他 UNICODE で空白類とされる文字のこと。
カンマ類とは? 日本ではカンマ。ドイツではピリオド。 CSV なら国を問わずカンマ。
というふうに「分析」していくと良い。

んで実装。
・文字列で入力を受け取る
・区切る文字、で受け取った文字列を分離する
・分離した結果の「文字列」を「数値」にする
各処理にどの関数を使えばよいか、自作すればよいか、は、あえて挙げない。

> どのように作ればよいか
はこれで提示したつもり。「分析」も「実装」も実際は自分でやらなきゃ実力付かないよ。

引用返信 編集キー/
■84087 / inTopicNo.3)  Re[1]: 一行に複数の文字が入った入力
□投稿者/ WebSurfer (1233回)-(2017/05/14(Sun) 10:22:02)
No84085 (kake さん) に返信

> 一行に数字が一つだけなら簡単ですが、二つ以上の場合どのように作ればいいのか教えてください。

自分的には一つでもそう簡単ではないと思うのですが(数字でなかったらどうするとか、整数
だけなのか少数も扱うのかとか、指数形式で入力されたらどうするとか・・・)、質問者さんが
そう言う以上「一行に数字が一つ」というところは自力でコーディングできているのですよね。

であれば、まずそのコードを示してはいかがですか?

そして、そのコードで「二つ以上の場合」というのはどういうことか、具体的に(あくまで具体
的に)説明していただくと、質問者さんのやりりたいことがより理解されやすいと思います。

「(入力例:9 9)」では説明として不十分です。言葉で「二つ以上の場合」の質問者さんの定義と
それをどう処置したいのか書いてください。

上に書いた疑問(数字でなかったらどうするとか、整数だけなのか少数も扱うのかとか、指数形
式で入力されたらどうするとか)は「数字が一つだけ」場合のコードを示してもらえればその延
長線上で考えられるとしても、区切りをどうするのかとか、3 つとか 4 つ(あるいはもっと)
入力されたらどうするか等不明です。



質問を書く際に参考になると思われる記事を紹介しておきます。一度目を通していただければ幸
いです。

技術系メーリングリストで質問するときのパターン・ランゲージ
http://www.hyuki.com/writing/techask.html

質問するときのヒント
https://teratail.com/help/question-tips

今は、後者の記事にある "人に質問をするには、自分が何を尋ねたいかを知っている必要があり
ます。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」という
ことです。" というところが不十分で、回答者としては "何がわからないかわからない人から質
問を受けても、答える側も困ってしまいます。" という状況のように思います。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -