welcome: please sign in
location: "Java"の差分
61と62のリビジョン間の差分
2009-09-21 11:42:55時点のリビジョン61
サイズ: 2657
編集者: masahiko
コメント:
2009-09-27 01:23:46時点のリビジョン62
サイズ: 4263
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 50: 行 50:

課題2
 . 次の虫食い算を解くためにCで書いたプログラムを示します。
 . 四角の場所には数字の1つが入ります。
 . 左端の四角はゼロではありません。
 . 5つある星の場所には同じ数字が入ります。

{{{
#include <stdio.h>

int main(int argc, char *argv[])
{
    int a, b1, b2, c1, c2, d;

    for (a = 100; a <= 999; a++)
    {
        for (b1 = 1; b1 <= 9; b1++)
        {
            for (b2 = 1; b2 <= 9; b2++)
            {
                c2 = a * b2;
                c1 = a * b1;
                d = 10*c1 + c2;
                if (keta(c2,3)==b1 && keta(c2,1)==b1 && keta(c1,1)==b1 && keta(d,2)==b1 && c1 <= 999)
                    printf("%d * %d%d = %d %d = %d\n", a,b1,b2,c2,c1,d);
            }
        }
    }
}

int keta(int su, int ichi)
{
    while (ichi > 1)
    {
        su /= 10;
        ichi--;
    }
    return su % 10;
}
}}}
問題
1)このプログラムをJavaに書き直しなさい。[必須課題]
2)条件を追加し、正しい答えだけが表示されるようにしなさい。[応用課題]

上のプログラムをコピーして使ってもよいが、慣習にしたがい美しいプログラムにしあげること。

ヒント
main関数は public static void main(String[] args) に変わります。
keta関数にも static 修飾子を付けてください。

プログラムのファイル名は Lesson2.java とし、正しく実行できることを確かめてから、Lesson2.javaファイルを提出しなさい。

Java(応用プログラミングA)資料、課題はmoodleにあります。

授業目標

  • Java言語によるプログラミングの演習をとおして、プログラミングにおける動的あるいは静的なものごとの考え方を学びます。

授業概要

  • Java言語を使ったプログラミングの演習を行い、クラス、オブジェクト、構造について学びます。 授業ではパソコンや学内ネットワークシステムを利用します。

授業計画(2009年度の内容)

1

Java概要

Javaとはどんな言語なのか, 処理系の使い方

Java課題01

2

Cとの相違

プログラムの書き方, 表示のための命令, Javaの構文, 基本データ型

Java課題02

3

配列と文字列

arg[]

4

オブジェクト

5

メソッド

6

他のクラスを使う

static, public, private リスト処理

7

入出力

8

グラフィックス

AWT APIを調べる

9

10

イベントドリブン

mouse event

11

12

アプレット

2009年度の修正予定

  • Linuxサーバ上でのコンパイルと実行を加える
  • 線形リストを単純な課題に修正
  • アプレットの前にAWTを追加


2008の内容

1

Java概要

Javaとはどんな言語なのか, 処理系の使い方

2

Cと似ているところ

プログラムの書き方, Cの構文との比較, 表示のための命令

3

Cとの違い

プリミティブとオブジェクト, 配列

4

文字列

String, コマンドライン引数

5

変数とクラス

変数の宣言と初期化,プログラム作成の手順,クラス

6

コンストラクタ

コンストラクタ,インスタンスをつなぐ

7

メソッド

メソッド,メソッドを作る

8

複数のクラスを使う

複数のクラスを使う,列車を作る

9

継承

継承,電車を作る

10

static

static変数,break文

11

ここまでのまとめ

修飾子,クラスのまとめ,解答

12

アプレット

アプレット,APIを調べる

13

アプレット(続き)

アプレットの初期化,マウスイベント

14

総合課題

15ゲームを作る

やり残したこと

  • collection
  • arrayList
  • 入出力、バイトストリームとテキストストリーム
  • 例外処理

課題2

  • 次の虫食い算を解くためにCで書いたプログラムを示します。
  • 四角の場所には数字の1つが入ります。
  • 左端の四角はゼロではありません。
  • 5つある星の場所には同じ数字が入ります。

#include <stdio.h>

int main(int argc, char *argv[])
{
    int a, b1, b2, c1, c2, d;

    for (a = 100; a <= 999; a++)
    {
        for (b1 = 1; b1 <= 9; b1++)
        {
            for (b2 = 1; b2 <= 9; b2++)
            {
                c2 = a * b2;
                c1 = a * b1;
                d = 10*c1 + c2;
                if (keta(c2,3)==b1 && keta(c2,1)==b1 && keta(c1,1)==b1 && keta(d,2)==b1 && c1 <= 999)
                    printf("%d * %d%d = %d %d = %d\n", a,b1,b2,c2,c1,d);
            }
        }
    }
}

int keta(int su, int ichi)
{
    while (ichi > 1)
    {
        su /= 10;
        ichi--;
    }
    return su % 10;
}

問題 1)このプログラムをJavaに書き直しなさい。[必須課題] 2)条件を追加し、正しい答えだけが表示されるようにしなさい。[応用課題]

上のプログラムをコピーして使ってもよいが、慣習にしたがい美しいプログラムにしあげること。

ヒント main関数は public static void main(String[] args) に変わります。 keta関数にも static 修飾子を付けてください。

プログラムのファイル名は Lesson2.java とし、正しく実行できることを確かめてから、Lesson2.javaファイルを提出しなさい。

Java (最終更新日時 2012-03-27 05:09:20 更新者 masahiko)