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

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

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

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

Q&A

2回答

309閲覧

Java どの部分をメソッドにすればいいのかわからない

Daniel1021

総合スコア2

Java

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

0グッド

0クリップ

投稿2021/05/26 08:38

前提・実現したいこと

Javaで地域ごとの感染者数を配列に格納するシステムを作っています
コードをすっきり書くためメソッドにしてその部分を呼び出す形にしたいのですが、
書き方がいまいちわかりません

該当のソースコード

class CovidKansen { public static void main(String args[]){ final int REGION_SIZE = 20; int n,i,j; int n_in_region[][] = new int[REGION_SIZE][REGION_SIZE]; for( i = 0; i < REGION_SIZE; i++ ) { for( j = 0; j < REGION_SIZE; j++ ) { n_in_region[i][j] = 0; } } for( n = 0; n < 1000; n++ ){ for( i = 0; i < REGION_SIZE; i++ ) { for( j = 0; j < REGION_SIZE; j++ ) { n_in_region[i][j] = one_percent_increase(n_in_region[i][j]); if( i > 0 ) { n_in_region[i][j] += one_percent_increase(n_in_region[i-1][j]) - n_in_region[i-1][j]; } if( i < REGION_SIZE-1 ) { n_in_region[i][j] += one_percent_increase(n_in_region[i+1][j]) - n_in_region[i+1][j]; } } } System.out.print("day " + n + ":\n"); for( i = 0; i < REGION_SIZE; i++ ) { for( j = 0; j < REGION_SIZE; j++ ) { System.out.printf("%3d ",n_in_region[i][j]); } System.out.print("\n"); } } return; } static int one_percent_increase(int num) { int r; r = num; r *= 1.01; if( r < 100 && (int)(Math.random() * 100) < 1 ) { r += 1; } return r; } }

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

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

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

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

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

guest

回答2

0

100人いれば100通りの書き方があるのですけど、
「どこをメソッドとして切り出すか」を自分で考えるのが課題なのでは?

別にちゃんと動いてるならわざわざメソッドを採用する必要はないです。

なので、「なぜメソッドにするのか」「どこまで役割分担させるのか」を考えてください。

投稿2021/05/26 10:02

m.ts10806

総合スコア80875

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

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

Daniel1021

2021/05/27 06:09

for( i = 0; i < REGION_SIZE; i++ ) { for( j = 0; j < REGION_SIZE; j++ ) の部分が何回か出てくるのでここをメソッドにするといいのかなと考えたのですが、勉強してもいまいち書き方がわからなくて困っています。よろしければ少しヒントをもらえるとありがたいです。
m.ts10806

2021/05/27 06:15

ヒントはすでに回答に書いてます。 >「なぜメソッドにするのか」「どこまで役割分担させるのか」を考えてください。 あとは法則性を見つける、もしくは作る
guest

0

とりあえず、Javaのメソッドについて調べてみてからでいいのでは。

1から100まで教えてたらキリがないので。

とりあえず参考URLだけ貼っておきます。
Java入門 メソッドの使い方

投稿2021/05/26 08:44

K_3578

総合スコア1282

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

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

Daniel1021

2021/05/27 06:06

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問