プログラミングreport#4

名前:上原和樹
番号:065709D
所属:情報工学科1年次

課題

問題

Q.23 次のコードを実行した後の出力値を述べよ

class Q_23{
    public static void main(String argv[]){
        int x,y;
        x = 100;
        x += 1;
        x--;
        y = 200 + x;
        System.out.println(y++);
    }
}

実行結果
300

Q.23の考察


Q.24 次のコードを実行した後の出力値を述べよ

class Q_24{
    public static void main(String argv[]){
        int a=0, x=0;
        a = 5;
        a += 3;
        x = ++a;
        System.out.println(x);
    }
}

実行結果
9

Q.24の考察


Q.25 次のコードを実行した後の出力値を述べよ

class Q_25{
    public static void main(String argv[]){
        int a = 9, b = 3;
        a /= b;
        System.out.println(a %= b);
    }
}

実行結果
0

Q_25の考察


Q.26 次のコードを実行した後の出力値を述べよ

class Q_26{
    public static void main(String argv[]){
        int i, j;
        for(i=0,j=0; i<3; i++) ++j;
        System.out.println(i * j);
    }
}

実行結果
9

Q_26の考察


Q.27 次のコードを実行した後の出力値を述べよ

class Q_27{
    public static void main(String argv[]){
        int i = 2 ;
        while(i-- > 0)
        System.out.print(i);
    }
}

実行結果
10

Q_27の考察


Q.28 次のコードを実行した後の出力値を述べよ

class Q_28{
    public static void main(String argv[]){
        int num = 10000;
        for(int i = 0; i < 4; i++) num >>=i;
        System.out.println(num);
    }
}

実行結果
156

Q_28の考察


Q.29 次のコードを実行した後の出力値を述べよ

class Q_29{
    public static void main(String argv[]){
        int num = 0;
        for (int i = 1; i <= 10; i++){
            if(++num % i == 0) num++;
        }
        System.out.println(++num);
    }
}

実行結果
12

Q_29の考察


Q.30 次のコードを実行した後の出力値を述べよ

class Q_30{
    public static void main(String argv[]){
        int a = 9;
        if(a++ != 10 | a++ == 10) a++;
        System.out.println(a);
    }
}

実行結果
12

Q_30の考察


Q.31 次のコードを実行した後、"Hello"は何回表示されるか述べよ。

class Q_31{
    public static void main(String argv[]){
        for(int i = 0; i < 5; i++)
            System.out.println("i == " + i);
        System.out.println("Hello");
    }
}

実行結果
i == 0
i == 1
i == 2
i == 3
i == 4
Hello

Q_31の考察


Q.32 次のコードを実行した後の出力値を述べよ

class Q_32{
    public static void main(String argv[]){
        int i ;
        for (i = 0; i < 9; i+= 3){}
        System.out.println(i );
    }
}

実行結果
9

Q_32の考察


Q.33 次のコードを実行した後の出力値を述べよ

 
class Q_33{
    public static void main(String argv[]){
        for(int i = 0; i < 8; i++) {
            System.out.println(i);
            i+=3;
        }
    }
}

実行結果
0
4

Q_33の考察


Q.34 次のコードを実行した後、"Hello"は何回表示されるか述べよ

class Q_34 {
    public static void main(String args[]){
        int i = 0;
        for ( sayHello() ; i <= 6 ; i += 3){
            sayHello();
        }
    }
    static void sayHello(){
        System.out.println("Hello");
    }
}

実行結果
Hello
Hello
Hello
Hello

Q_34の考察


Q.35 次のコードを実行した後の出力値を述べよ

 
class Q_35{
    public static void main(String args[]){
        Player p1 = new Player();
        Player p2 = new Player();
        p1.id = 1000;
        p2.id = 2000;
        p1.num += p1.id;
        p2.num += p2.id;
        System.out.println(Player.num);
    }
}
class Player{
int id = 0;
static int num = 0;
}  

実行結果
3000

Q_35の考察


Q.36 次のコードを実行した後の出力値を述べよ

 
class Q_36{
    public static void main (String args[]){
        Player p1 = new Player();
        Player p2 = new Player();
        p1.id = 1000;
        p2.id = 2000;
        Player.num += p1.id;
        Player.num += p2.id;
        System.out.println("p1.num == "+p1.num);
        System.out.println("p2.num == "+p2.num);
    }
}
class Player{
int id = 0;
static int num = 0;
}  

実行結果
p1.num == 3000
p2.num == 3000

Q_37の考察


Q.37 次のコードを実行した後の出力値を述べよ

 
class Q_37{
    public static void main (String argv[]){
        Card c1 = new Card();
        Card c2 = new Card();
        Card c3 = c1;
        c1.deposit = 1000;
        c2.deposit = 2000;
        c3.deposit = 3000;
        int sum = c1.deposit + c2.deposit + c3.deposit;
        System.out.println(sum);
    }
}
class Card {
    int deposit;
}

実行結果
8000

Q_37の考察


Q.38 次のコードを実行したとき、コード中のAの時点においてc1.depositと c2.depositの関係を述べよ。

class Q_38{
    public static void main(String argv[]){
        Card c1 = new Card() ;
        Card c2 = c1 ;
        c1.deposit = 1000;
        c2.deposit = 2000;
        Bank.useCard(c1);
        Bank.useCard(c2);
            /*A*/
    }
}
class Card {
    int deposit;
} 
class Bank{
    public static void useCard (Card c){
        c.deposit -= 500; 
    }
}

Q_38の考察