No.1ベストアンサー
- 回答日時:
Javaに限らず、プログラミングは
1)やりたいことを分析して、解法を求める。
2)求めた解法をプログラミング言語で記述する。
の大きくわけて2段階があります。
例えば、「平均を求める」プログラムを作る場合
・やるべきことを分析する
「平均=合計/個数」
→「合計」は全部を足したもの
→全部足すには、「『一つ前まで足したもの』に『次の値』を足す」を全部の値について繰り返す
・プログラミング言語に置き換える
データは配列を使うとよさそうだ→ double data[];
合計を覚える必要がある→それ用の変数sumを準備→double sum ;
最初は0→sum=0;
個数分繰り返す。→for(int i=0; i<n ; ++ i) {~}
データを足していく→ sum += data[i]
これでプログラムが出来上がります。(個数とかデータとかをどうするか、が抜けているので、これだけでは動きませんが)
実際には、1)のやりたい事そのままのクラス/メソッド/関数が用意されていたり、2)の段階で分析不十分に気付いて1)の戻ったり、があります。
さて、あなたが「書けない」のは1),2)のどちらができないのでしょうか?
まずは、それを自己分析してください。
1)ならば、解法についての勉強をしましょう。「アルゴリズム」「データ構造」をキーワードにするとよいでしょう。
また、普段から、物事を分析する癖をつけてもいいでしょう。
2)ならば、最悪は、本やマニュアルを読みながらでもできることです。
最初は調べながら書けばよいでしょう。慣れればよく使うのは覚えられます。
それと、「読める」のなら、人のソースをただ眺めるのではなく、そのプログラムがどんな考え方(1)で作られたものなのか、それをどんな風に記述しているなか(2)を考えながら読みましょう。こんな時はこう書く、というのがわかれば、自分で書くときにも応用できます。
No.3
- 回答日時:
仕様・ロジックを作成するのにプログラム言語は関係ありませんし、何をするのかもわからな
いのにプログラム作成は無理です。(仕事だとこんな感じでとか時々あったりするのですが)
>読める→書けるになるためにはいったい何が必要なんでしょうか??
短いプログラムから、フローチャートにでも落としてみればどうでしょうか
見えていなかった処理が見えてたりしますし、フローに落ちた段階で言語は
関係ないと思えてきます。
>0から自分で作るとなると全然できません、というか書けません。
全く新しい考えで0から作れる人などいません。過去に学んだフローパターンが
身についてるだけで、同じ人が作ったプログラムだと言語が違ってもフローパタ
ーンにすると同じで組み合わせただけだったりします。
UMLじゃなく単純なJISチャートでとりあえず初めて理解が深まればjavaだと
デザインパターン入門の本でも読むと理解が深まると思います。
http://www.amazon.co.jp/Java%E8%A8%80%E8%AA%9E%E …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリのプログラムを見るには...
-
安全な取り外し
-
マルチTIFを一枚のTIFに...
-
バッチファイルでUSB挿入時に実行
-
再配布できないファイルの作製
-
flvファイルをFLVPで再生す...
-
brotherのマシニングセンタとP...
-
積算ソフトのプログラムを作り...
-
Socket通信だけでSQL Serverに...
-
GPIB制御
-
C言語学習用のフリーソフト
-
65536は2の何乗なのでしょうか?
-
あるプログラムのコマンドライ...
-
VBAで仕様書は書きますか?
-
読み込み中にアクセス違反が発...
-
VBAにてメール作成した際、一部...
-
【JAVA】数字をひし形に出力す...
-
変化させるセルが変化しない
-
Excelで4096点以上のFFTの方法
-
「Outlookが他のプログラムによ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Bluestacks内でダウンロードし...
-
バッチファイルでUSB挿入時に実行
-
アプリのプログラムを見るには...
-
GPIB制御
-
インテル マネジメント エンジ...
-
iTunesがノートンにブロックさ...
-
brotherのマシニングセンタとP...
-
例外アプリケーションエラーを...
-
自分の声が遅れて聞こえてくる...
-
マルチTIFを一枚のTIFに...
-
BIOSとドライバの違い。
-
Socket通信だけでSQL Serverに...
-
InstallShield ってプログラム...
-
マルチコアCPUをシングル化
-
MpcStarのアンインストール
-
みつも郎でエラーが出るのですが…
-
「フラグをたてる」とは?
-
BIOS.binをバイナリエディタで...
-
PVを稼ぐための自動リロードの...
-
cgiをひらくアプリケーション
おすすめ情報