找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 4129|回复: 0

java私塾初级教程--第三章课后作业答案

[复制链接]
solimh 发表于 2011-8-26 15:39:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?快速注册

×
java私塾初级教程--第三章课后作业答案

java私塾跟我学系列-java篇 初级部分课后题答案,参考学习。。。。


  1. package cn.javass.c3;
  2. //1:写一个MyPoint类完全封装类,其中含有私有的int类型的x和y属性,分别用公有的getX、getY和setX、setY
  3. //方法访问,定义一个toString方法用来显示这个对象的x、y的值。如显示(1,2),最后用main方法测试。
  4. //2:在MyPoint类中增加equals()、toString()方法,根据命令行参数个数测试:若不传参数,则显示(0,0);
  5. //若传一个参数,则打印(此参数值,0);若传两个参数,则打印(第一个参数值,第二个参数值)。
  6. public class MyPoint {
  7.    private int x;
  8.    private int y;
  9.    public int getX() {
  10.       return x;
  11.    }
  12.    public int getY() {
  13.       return y;
  14.    }
  15.    public void setX(int x) {
  16.       this.x = x;
  17.    }
  18.    public void setY(int y) {
  19.       this.y = y;
  20.    }
  21.    public String toString() {
  22.       return "(" + x + "," + y + ")";
  23.    }
  24.    public boolean equals(Object obj) {
  25.       return true;
  26.    }
  27.    public String toString(String[] args) {
  28.       if (args.length == 0) {
  29.          x = 0;
  30.          y = 0;
  31.       }
  32.       if (args.length == 1) {
  33.          x = Integer.parseInt(args[0]);
  34.          y = 0;
  35.       }
  36.       if (args.length == 2) {
  37.          x = Integer.parseInt(args[0]);
  38.          y = Integer.parseInt(args[1]);
  39.       }
  40.       return "(" + x + "," + y + ")";
  41.    }
  42.    public static void main(String[] args) {
  43.       // TODO Auto-generated method stub
  44.       MyPoint mp = new MyPoint();
  45.       mp.setX(1);
  46.       mp.setY(2);
  47.       System.out.println(mp.getX());
  48.       System.out.println(mp.getY());
  49.       System.out.println(mp.toString());
  50.       System.out.println(mp.toString(args));
  51.    }
  52. }
复制代码

  1. package cn.javass.c3;
  2. //3:有一个序列,首两项为0,1,以后各项值为前两项值之和。写一个方法来实现求这个序列的和
  3. public class OrderSum {
  4.    /**
  5.     * @param args
  6.     */
  7.    //方法一:使用for循环求序列的前n项和
  8.    public int orderSum1(int a1,int a2,int n){
  9.       int s=a1;
  10.       int temp;
  11.       for (int i=1;i<n;i++){
  12.          s=s+a2;
  13.          temp=a2;
  14.          a2=a1+a2;
  15.          a1=temp;
  16.       }
  17.       return s;
  18.    }
  19.    //方法二:使用递归求序列的前n项和
  20.    public int orderSum2(int a1,int a2,int n){
  21.       if (n==1){
  22.          return a1;
  23.       }else{
  24.          return a1+orderSum2(a2,a1+a2,n-1);
  25.       }
  26.    }
  27.    public static void main(String[] args) {
  28.    
  29.       OrderSum o=new OrderSum();
  30.       System.out.println("s="+o.orderSum1(0, 1, 6));
  31.       System.out.println("s="+o.orderSum2(0,1,6));
  32.    }
复制代码
  1. package cn.javass.c3;
  2. //4:请编写一个方法实现如下功能:将1至7的数字转换为星期日到星期六的字符串。
  3. public class T4 {
  4.    public String numberToString(int n) {
  5.       String s = "";
  6.       switch (n) {
  7.       case 1:
  8.          s = "Sunday";
  9.          break;
  10.       case 2:
  11.          s = "Monday";
  12.          break;
  13.       case 3:
  14.          s = "Tuesday";
  15.          break;
  16.       case 4:
  17.          s = "Wednesday";
  18.          break;
  19.       case 5:
  20.          s = "Thursday";
  21.          break;
  22.       case 6:
  23.          s = "Friday";
  24.          break;
  25.       case 7:
  26.          s = "Saturday";
  27.       }
  28.       return s;
  29.    }

  30.    public static void main(String[] args) {
  31.       T4 t = new T4();
  32.       int n = 4;
  33.       String s = t.numberToString(n);
  34.       System.out.println(n + ":" + s);
  35.     }
  36. }
复制代码


  1. package cn.javass.c3;
  2. //5:请编写一个方法实现如下功能:有任意三个整数a,b,c,请输出其中最大的
  3. public class T5 {
  4.    
  5.    public int getMax(int a, int b, int c) {
  6.       int max = a > b     a : b;
  7.       max = max > c     max : c;
  8.       return max;
  9.    }
  10.    public static void main(String[] args) {
  11.       T5 t = new T5();
  12.       int max = t.getMax(7, 12, 8);
  13.       System.out.println("The max is " + max);
  14.    }
  15. }
复制代码


  1. package cn.javass.c3;
  2. //6:请编写一个方法实现如下功能:有任意三个整数a,b,c,请按从小到大的顺序输出
  3. public class T6 {
  4.    public void printOrder(int a, int b, int c) {
  5.       int temp;
  6.       if (a > b) {
  7.          temp = a;
  8.          a = b;
  9.          b = temp;
  10.       }
  11.       if (a > c) {
  12.          temp = a;
  13.          a = c;
  14.          c = temp;
  15.       }
  16.       if (b > c) {
  17.          temp = b;
  18.          b = c;
  19.          c = temp;
  20.       }
  21.       System.out.println("====after Order===");
  22.       System.out.println(a + "," + b + "," + c);
  23.    public static void main(String[] args) {
  24.       int a = 78;
  25.       int b = 34;
  26.       int c = 234;
  27.       System.out.println("====before Order===");
  28.       System.out.println(a + "," + b + "," + c);
  29.       T6 t = new T6();
  30.       t.printOrder(a, b, c);
  31. }[code]

  32. [code]package cn.javass.c3;
  33. //7:请编写一个方法实现如下功能:用程序找出每位数的立方和等于该数值本身值的所有3位数。(水仙花数)
  34. public class T7 {
  35.    public void daffodilNumber() {
  36.       for (int i = 100; i <= 999; i++) {
  37.          int a = i / 100;
  38.          int b = i % 100 / 10;
  39.          int c = i % 10;
  40.          if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) {
  41.             System.out.println(i);
  42.          }
  43.       }
  44.    }
  45.    public static void main(String[] args) {
  46.       T7 t = new T7();
  47.       t.daffodilNumber();
  48. }
复制代码


  1. package cn.javass.c3;
  2. //8:请编写一个方法实现如下功能:计算1加到n(n>=2的整数)的总和。
  3. public class T8 {
  4.    public int getSum(int n) {
  5.       int sum = 0;
  6.       for (int i = 1; i <= n; i++) {
  7.          sum += i;
  8.       }
  9.       return sum;
  10.    }
  11.    public static void main(String[] args) {
  12.       T8 t = new T8();
  13.       System.out.println("sum=" + t.getSum(100));
  14.    }
  15. }
复制代码


  1. package cn.javass.c3;
  2. //9:请编写一个方法实现如下功能:得到一个整数的绝对值。
  3. public class T9 {
  4.    public int absolute(int n) {
  5.       return n >= 0     n : -n;
  6.    }
  7.    public static void main(String[] args) {
  8.       T9 t = new T9();
  9.       int n = -90;
  10.       System.out.println(n + "的绝对值是:" + t.absolute(n));
  11.    }
  12. }
复制代码


您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表