• 検索結果がありません。

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

N/A
N/A
Protected

Academic year: 2021

シェア "Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 ("

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

Method(C言語では関数と呼ぶ)



メソッドを使うと、処理を纏めて管理することができる

→ 処理(メソッド)の再実行(再利用)が簡単にできる。



元々はC言語の関数であり、入力値に対する値を

定義するもの

数学では、F(x) = 2x + 1 など

↑入力値(引数) x が決まれば、F(x)が決まる



これを応用して、複雑な処理も、外面的には

ひと固まりの処理として扱う

入力値に対する処理をして、その結果値を返す



関数の書式

(戻り値が無い場合は void型として指定する) 戻り値のデータ型 戻り値のデータ型 戻り値のデータ型 戻り値のデータ型 関数名(引数のデータ宣言の並び)関数名(引数のデータ宣言の並び)関数名(引数のデータ宣言の並び)関数名(引数のデータ宣言の並び) { { { { ・・・ ・・・ ・・・ ・・・ return(戻り値戻り値戻り値戻り値); } } } }

0

y

x

F(x)=2x+1

例 int func1(int x){

x = 2*x + 1;

return x ;

}

(2)

演習: メソッドの利用例

import java.math.*; class OmikujiFunc {

public String omikuji(String args[]) {

double randomNumber = Math.random(); String result = "";

if (randomNumber < 0.2) { result = "凶です"; } else if(randomNumber < 0.4) { result = "小吉です";} else { result = "大吉です";} return result;

}

public static void main(String args[]) { String myResult= omikuji( );

System.out.println(myResult ); } } 結果をメイン文に帰す 結果をメイン文に帰す 結果をメイン文に帰す 結果をメイン文に帰す(戻す戻す戻す戻す) Omikujiメソッドでおみくじの結メソッドでおみくじの結メソッドでおみくじの結メソッドでおみくじの結 果が得られる 果が得られる 果が得られる 果が得られる おみくじの結果を表示する おみくじの結果を表示する おみくじの結果を表示する おみくじの結果を表示する

c:¥Users¥user> cd c:¥src

c:¥src>

notepad OmikujiFunc.java

c:¥src>

javac OmikujiFunc.java

c:¥src>

java OmikujiFunc

(3)

課題3-1: メソッドの利用例

import java.math.*; class OmikujiFunc {

public String omikuji(String args[]) {

double randomNumber = Math.random(); String result = "";

if (randomNumber < 0.2) { result = "凶です"; } else if(randomNumber < 0.4) { result = "小吉です";}

・・・

else { result = "大吉です";} return result;

}

public static void main(String args[]) { String myResult= omikuji( );

System.out.println(myResult ); } } c:¥src>notepad OmikujiFunc.java c:¥src>javac OmikujiFunc.java c:¥src>java OmikujiFunc こんにちは田中二郎さん。 今日の運勢は中吉です。 これを基にして、5種類のおみくじを 左下のように自分の名前と、今日 の・・という表示にさせなさい。

(4)

演習: メソッドの利用例

import java.math.*;

import java.util.Scanner; class NumberGame{

public static void myGame(){/* ゲームを実行する関数 */

int result = (int) (Math.random()*10.0); /* random()は 0.0~1.0 の乱数を生成、*/ Scanner data; int guess = 0; /* 人間が推測した値を格納するための変数 */

System.out.println("数当てゲーム 0~2のどれかを推測して下さい");

while( guess != result ){ /* 推測された値が一致するまで実施する */

data = new Scanner(System.in); guess = data.nextInt();/* キーボード入力 */ if(guess==result) { System.out.println("当たり"); }

else if(guess>result) { System.out.println("もっと大きいか小さい数です"); } else { }

}

}

public static void main(String args[]) {

myGame(); } } c:¥src>notepad NumberGame.java c:¥src>javac NumberGame.java c:¥src>java NumberGame 緑色の部分は決まっているもので、 各 自で黒い部分のみを考えて下さい どんな複雑な処理も、メソッドで定義し ておけば、それを呼び出すだけで良い

(5)

課題3-2: メソッドの利用例

import java.math.*;

import java.util.Scanner; class NumberGame{

public static void myGame(){/* ゲームを実行する関数 */

int result = (int) (Math.random()*?); /* random()は 0.0~1.0 の乱数を生成、resultに1か

ら10の値が代入される */

Scanner data; int guess = 0; /* 人間が推測した値を格納するための変数 */ System.out.println("数当てゲーム 0~2のどれかを推測して下さい");

while( guess != result ){ /* 推測された値が一致するまで実施する */

data = new Scanner(System.in); guess = data.nextInt();/* キーボード入力 */ if(guess==result) { System.out.println("当たり"); }

else if(guess>result) { System.out.println("もっと大きい数です"); } else { System.out.println("もっと大きい数です"); } }

}

public static void main(String args[]) {

myGame(); } } c:¥src>notepad NumberGame.java c:¥src>javac NumberGame.java c:¥src>java NumberGame 15 もっと大きい数です 18 もっと小さい数です 16 おめでとうございます、当たりです 数当てを0から30までとして、当たったら、当たり として、当 たったら、当たり はずれだったら、もっと大きな数かもっと小さ な数を入力 すれば良いかのヒントを表示させて下さい。

(6)

演習: メソッドの利用例

import java.math.*; import java.io.*; class SlotFunc {

public int slot1( void ) {

int number = (int) (Math.random()*3.0) ; }

public int slot2( void ) {

int number = (int) (Math.random()*3.0) ; }

public static void main(String args[]) { System.out.print(" ["+ slot1( )+" ]"); System.out.print(" ["+ slot1( )+" ]"); } } 結果をメイン文に帰す 結果をメイン文に帰す結果をメイン文に帰す 結果をメイン文に帰す(戻す戻す戻す戻す) Omikujiメソッドでおみくじの結メソッドでおみくじの結メソッドでおみくじの結メソッドでおみくじの結 果が得られる 果が得られる 果が得られる 果が得られる おみくじの結果を表示する おみくじの結果を表示する おみくじの結果を表示する おみくじの結果を表示する

c:¥Users¥user> cd c:¥src

c:¥src>

notepad SlotFunc.java

c:¥src>

javac SlotFunc.java

c:¥src>

java SlotFunc

結果をメイン文に帰す 結果をメイン文に帰す結果をメイン文に帰す 結果をメイン文に帰す(戻す戻す戻す戻す)

(7)

演習: タイマーの利用例

import java.math.*; import java.io.*; class MySlot {

public static void main(String args[]) {

System.out.println( "スロットマシーンスタート" );

int slot[]= new int[5]; //スロットの各列の数値の保存用配列

for(int i=0; i<2; i++ ){ //3つのスロットを順次止める

slot[i] = (int) (Math.random()*3.0) ; //ここでスロットの値が決まる

try{Thread.sleep(1000);}catch(Exception e){ }

System.out.print("「" + slot[i] + "」" ); }

System.out.println();

if( (slot[0]==slot[1])&&(slot[1]==slot[0]) )System.out.println("当たり");

else System.out.println(""); } }

c:¥Users¥user> cd c:¥src

c:¥src>

notepad MySlot.java

c:¥src>

javac MySlot.java

c:¥src>

java MySlot

(8)

課題3-3: タイマーの利用例

import java.math.*; import java.io.*; class MySlot {

public static void main(String args[]) {

System.out.println( "スロットマシーンスタート" );

int slot[]= new int[5]; //スロットの各列の数値の保存用配列

for(int i=0; i<2; i++ ){ //3つのスロットを順次止める

slot[i] = (int) (Math.random()*3.0) ; //ここでスロットの値が決まる

try{Thread.sleep(1000);}catch(Exception e){ }

System.out.print("「" + slot[i] + "」" ); }

System.out.println();

if( (slot[0]==slot[1])&&(slot[1]==slot[0]) )System.out.println("当たり");

else System.out.println(""); } }

c:¥src>

notepad MySlot.java

c:¥src>

javac MySlot.java

c:¥src>

java MySlot

スロットマシーンスタート

【4】 【3】 【1】

これを基にスロットが3列で、各列の数が1から5の数のゲームに 変えなさい。提出の際にはメール本文にプログラムの各行がどん な処理をしているのか、全て説明を書くこと 当たりと、はずれを正しく表示させ、 当たりと、はずれを正しく表示させ、当たりと、はずれを正しく表示させ、 当たりと、はずれを正しく表示させ、 結果表示をこのように 結果表示をこのように 結果表示をこのように 結果表示をこのように【【【【ととと】と】】でくくる】でくくるでくくるでくくる

参照

関連したドキュメント

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

ここで, C ijkl は弾性定数テンソルと呼ばれるものであり,以下の対称性を持つ.... (20)

最愛の隣人・中国と、相互理解を深める友愛のこころ

つまり、p 型の語が p 型の語を修飾するという関係になっている。しかし、p 型の語同士の Merge

 英語の関学の伝統を継承するのが「子どもと英 語」です。初等教育における英語教育に対応でき

断するだけではなく︑遺言者の真意を探求すべきものであ

自然言語というのは、生得 な文法 があるということです。 生まれつき に、人 に わっている 力を って乳幼児が獲得できる言語だという え です。 語の それ自 も、 から

41 の 2―1 法第 4l 条の 2 第 1 項に規定する「貨物管理者」とは、外国貨物又 は輸出しようとする貨物に関する入庫、保管、出庫その他の貨物の管理を自