Java - Think in Java 第4章 习题

原创 2015年07月10日 08:19:29

1

//: Main.java

/**
 * for循环
 */
class Main {

    public static void main(String[] args) {
        for (int i=1; i<=100; ++i) {
            System.out.print(i + " ");
        }
    }
}
/**
 * Output:
 * ...
 *///:~

2

//: Main.java

import java.util.Random;

/**
 * 流程控制
 */
class Main {

    public static void main(String[] args) {
        Random rand = new Random();
        int tmp = rand.nextInt();
        System.out.print(tmp);
        for (int i=0; i<24; ++i) {
            int r = rand.nextInt();
            if (tmp > r) {
                System.out.print(">" + r);
            } else if (tmp < r) {
                System.out.print("<" + r);
            } else {
                System.out.print("=" + r);
            }
            tmp = r;
        }
        System.out.println();
    }
}
/**
 * Output:
 * ...
 *///:~

3

//: Main.java

import java.util.Random;

/**
 * 无限循环
 */
class Main {

    public static void main(String[] args) {
        Random rand = new Random();
        int tmp = rand.nextInt();
        System.out.print(tmp);

        // 注意无线循环
        while (true){
            int r = rand.nextInt();
            if (tmp > r) {
                System.out.print(">" + r);
            } else if (tmp < r) {
                System.out.print("<" + r);
            } else {
                System.out.print("=" + r);
            }
            tmp = r;
        }
    }
}
/**
 * Output:
 * ...
 *///:~

4

//: Main.java

/**
 * 打印素数
 */

class Main {
    public static boolean isPrime(int num) {
        if (num<2) return false;
        for (int i=2; i*i<num; ++i) {
            if (0 == num%i)
                return false;
        }
        return true;
    }
    public static void main(String[] args) {
        int c =0;
        for (int i=1; i<1000; i+=2) {
            if (isPrime(i)) {
                System.out.print(i + " ");
                c++;
                if (c%20 == 0) {
                    System.out.println();
                }
            }

        }
    }
}
/**
 * Output:
 * ...
 *///:~

5

//: Main.java

/**
 * 二进制数打印
 */

class MyClass {
    // 替代Integer.toBinaryString()
    public static String toBinaryString(int num) {
        if (num == 0) return ""+0;
        String result = "";
        // 左面0的个数
        int n = Integer.numberOfLeadingZeros(num);
        num <<= n;
        for (int i=0; i<32-n; ++i) {
            int x = (Integer.numberOfLeadingZeros(num) == 0)?1:0;
            result += x;
            num <<= 1;
        }
        return result;
    }
}

class Main {
    public static void main(String[] args) {
        int i1 = Integer.valueOf("10101010", 2);
        int i2 = Integer.valueOf("10101011",2);
        System.out.println("i1 = " + i1 + ", (2)" + MyClass.toBinaryString(i1));
        System.out.println("i2 = " + i2 + ", (2)" + MyClass.toBinaryString(i2));
        System.out.println("i1|i2 = " + (i1|i2) + ", (2)" + MyClass.toBinaryString((i1 | i2)));
        System.out.println("i1^i2 = " + (i1 ^ i2) + ", (2)" + MyClass.toBinaryString((i1 ^ i2)));
        System.out.println("i1&i2 = " + (i1&i2) + ", (2)" + MyClass.toBinaryString((i1 & i2)));
        System.out.println("~i1 = " + (~i1) + ", (2)" + MyClass.toBinaryString((~i1)));
    }
}
/**
 * Output:
 * i1 = 170, (2)10101010
 * i2 = 171, (2)10101011
 * i1|i2 = 171, (2)10101011
 * i1^i2 = 1, (2)1
 * i1&i2 = 170, (2)10101010
 * ~i1 = -171, (2)11111111111111111111111101010101
 *///:~

6

//: Main.java

/**
 * 打印素数
 */

class Main {
    public static int test(int testval, int begin, int end) {
        if (begin > end) return -1;
        if (testval > begin && testval < end) {
            return  1;
        } else {
            return -1;
        }
    }
    public static void main(String[] args) {
        System.out.println(test(10, 20, 30));
        System.out.println(test(25, 20, 30));
        System.out.println(test(10, 30, 20));
    }
}
/**
 * Output:
 * -1
 * 1
 * -1
 *///:~

7

//: Main.java

/**
 * for循环
 */
class Main {

    public static void main(String[] args) {
        for (int i=1; i<=100; ++i) {
//            if (i == 99) break;
            if (i == 99) return;
            System.out.print(i + " ");
        }
    }
}
/**
 * Output:
 * ...
 *///:~

8

//: Main.java

/**
 *  switch
 */
class Main {
    public static void main(String[] args) {
        for(int i=0; i<5; ++i) {
            System.out.println("---");
            switch (i) {
                case 0:
                    System.out.println(i);
                case 1:
                    System.out.println(i);
                case 2:
                    System.out.println(i);
                case 3:
                    System.out.println(i);
                case 4:
                    System.out.println(i);
                default:
                    break;
            }
        }
    }
}
/**
 * Output:
 0
 1
 2
 3
 4
 \\\
 ---
 0
 0
 0
 0
 0
 ---
 1
 1
 1
 1
 ---
 2
 2
 2
 ---
 3
 3
 ---
 4
 *///:~

9

参考:http://blog.csdn.net/caroline_wendy/article/details/37899953

10

参考:http://blog.csdn.net/caroline_wendy/article/details/46840009


娱乐

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java - Think in Java 第3章 习题

1参考: http://blog.csdn.net/caroline_wendy/article/details/467848892&3参考: http://blog.csdn.net/carolin...

Think In Java习题答案

  • 2013年09月04日 00:49
  • 239KB
  • 下载

think in java之斐波那契数列

斐波纳契数列(Fibonacci Sequence),又称黄金分割数列。 指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。 在数学上,斐波...

think in java1书和习题答案.

  • 2008年05月19日 14:21
  • 1004KB
  • 下载

Think In Java第二章 一切都是对象

1. 使用引用来操纵对象2. jvm中的内存分布3. 基本数据类型基本数据类型 大小 包装类 boolean --- Bo...

Think in Java 3rd 课后习题答案 .rar

  • 2008年06月13日 14:18
  • 330KB
  • 下载

读书笔记 Think in Java 4th 第十一章 持有对象 List、Set、Queue和Map

容器(集合)的基本类型     基本类型是List、Set、Queue和Map。容器某些特性:Set对于每个值都只保存一个对象,Map 是允许将某些对象与其他一些对象关联起来的关联数组,Java容器类...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java - Think in Java 第4章 习题
举报原因:
原因补充:

(最多只允许输入30个字)