JavaでC言語の構造体と同じようなことをする。

Javaには、構造体が存在しないので、クラスを利用して作ってみたです〜
本場の構造体(C言語の)と比べたいのでC言語も一緒に載せるです〜
 JavaC言語
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//クラスを構造体のように使用するサンプルプログラム


//構造体に見立てたStatusクラス
class Status{
    public String name;
    public int tall;
    public int weight;
    
    public Status(){}
    public Status(String name, int tall, int weight){
        this.name = name;
        this.weight = weight;
        this.tall = tall;
    }
}

//メインクラス
class test{
    public static void main(String[] args){
        Status my = new Status();
        
        Status[] member = {
            new Status("アバロン",   203, 80),
            new Status("コボルト",   165, 54),
            new Status("パスカル",   172, 59),
            new Status("ジャワ原人", 156, 45)
        };
        
        my.name = "テラオメガ";   
        my.tall   = 177;
        my.weight = 65;
        
        //身長の小さい順に並べてみたです。
        for(int i=member.length-1; i>0; i--){
            for(int j=0; j<i; j++){
                if(member[j].tall > member[j+1].tall){
                    Status tmp  = member[j];
                    member[j]   = member[j+1];
                    member[j+1] = tmp;
                }
            }
        }

        //出力
        System.out.println(
            my.name +"\t"+ 
            my.weight +"  "+
            my.tall);

        System.out.println("=======================");
        for(int i=0; i<member.length; i++){
            System.out.println(
                member[i].name +"\t"+ 
                member[i].weight +"  "+
                member[i].tall);
        }
    }
}
#include <stdio.h>
#define MEMBER_LENGTH 4  /*メンバーの人数の指定*/

/*構造体です〜*/
typedef struct STATUS{
    char *name;
    int tall;
    int weight;
}Status;








/*メイン関数*/
void main(void){
    int i, j;
    Status my;

    Status member[] = {
        {"アバロン",   203, 80},
        {"コボルト",   165, 54},
        {"パスカル",   172, 59},
        {"ジャワ原人", 156, 45}
    };

    my.name = "テラオメガ";   
    my.tall   = 177;
    my.weight = 65;
   
    /*身長の小さい順に並べてみたです。*/
    for(i=MEMBER_LENGTH-1; i>0; i--){
        for(j=0; j<i; j++){
            if(member[j].tall > member[j+1].tall){
                Status tmp  = member[j];
                member[j]   = member[j+1];
                member[j+1] = tmp;
            }
        }
    }

    /*出力*/
    printf("%s\t%d  %d\n",
        my.name,
        my.weight,
        my.tall);

    printf("=======================\n");
    for(i=0; i<MEMBER_LENGTH; i++){
        printf("%s\t%d  %d\n",
            member[i].name,
            member[i].weight,
            member[i].tall);
    }
}

TOPに戻る   Java講座に戻る