zoukankan      html  css  js  c++  java
  • Java lesson09Homework

    1.   上转型对象的定义是什么?阐述自己对上转型对象的理解,用文字描述。

    上转型:父类声明,子类实例化 叫做上转型。

    (自己的理解)上转型对象可以利用父类中的全员变量和方法,当子类进行全员变量隐藏或方法重写时,则用的是子类中的。上转型对象不能用子类新增加的方法或变量。(强制转换)

    u (PPT的说法)1.上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。

    u 2.上转型对象可以操作子类继承的成员变量,也可以使用子类继承的或重写的方法。

    u 3.如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。因为程序在运行时知道,这个上转对象的实例是子类创建的,只不过损失了一些功能而已。

     

     

     

     

     

    2. 多选题:

    1)下列关于父类与子类的说法错误的有(    BCD)

    A.在任何情况下,子类对象都可以访问父类的受保护方法。

    B.上转型对象调用的是父类中的方法。

    C.子类对象不能直接调用被子类重写的父类中的方法。

    D.上转型对象可以调用子类新增的方法。

     

    2.   创建一个抽象类水果Fruit,再分别创建Apple、Pear、Orange类继承抽象类水果,分别在3个子类中定义成员变量和方法,然后再创建一个测试类Test,根据用户的输入,利用上转型对象分别实例化不同的子类,表现多态的性质。

    3.  package Homework09_java;

    4.  /**

    5.   * 创建一个水果类做对象

    6.   * @author LENOVO

    7.   *

    8.   */

    9.  public class Fruit {

    10. String color="橙色";

    11. String size;

    12. String name;

    13.

    14. public void name()

    15. {System.out.println(this.name+" ");}

    16. public void eating()

    17. {System.out.println("直接吃 ");}

    18. public void juice()

    19. {System.out.println("做果汁 ");

    20. }

    21.  

    22.  

    23. }

    24. package Homework09_java;

    25. //创建一个苹果类

    26. public class Apple extends Fruit {

    27. String name="苹果";

    28. String size="圆形";

    29. String color="红色";

    30.

    31.

    32. public void eating()

    33. {System.out.println("削皮吃");}

    34.

    35.  

    36. }

    37. package Homework09_java;

    38. //创建一个梨类

    39. public class Pear extends Fruit  {

    40. String name="梨";

    41. String color="黄色";

    42. String size="梨形";

    43. public void eating()

    44. {

    45.      System.out.println("洗洗吃");

    46.     

    47.     

    48. }

    49.  

    50.  

    51. }

    52. package Homework09_java;

    53. //创建一个橘子类

    54. public class Orange extends Fruit{

    55. String name="橘子";

    56. String size="圆形";

    57.

    58.  public void eating()

    59. {System.out.println("剥皮吃");}

    60.  public void eating(Fruit a)

    61.  {a.eating();}

    62.  public void juice(Fruit a)

    63.  {a.juice();}

    64.  public void color(Fruit a)

    65.  {System.out.println(""+a.color);}

    66.  public void size(Fruit a)

    67.  {System.out.println(""+a.size);}

    68.  

    69. }

    70. package Homework09_java;

    71. import java.util.Scanner;

    72. public class Test {

    73. public static void main(String[] args)

    74. {Scanner scanner=new Scanner(System.in);

    75.      System.out.println("请输入一种水果");

    76.      String name1=scanner.next();

    77.      Test test=new Test();

    78.      Fruit apple=new Apple();

    79.      Fruit pear=new Pear();

    80.      Fruit orange=new Orange();

    81.      String fruit_01="苹果";

    82.      String fruit_02="梨";

    83.      String fruit_03="橘子";

    84.      if(name1.equals(fruit_01))

    85.      {test.color(apple);

    86.      {test.size(apple);

    87.      {test.juice(apple);

    88.      test.eating(apple);

    89.         

    90.      if(name1.equals(fruit_02))

    91.      {test.color(pear);

    92.      {test.size(pear);

    93.      {test.juice(pear);

    94.      test.eating(pear);

    95.     

    96.      if(name1.equals(fruit_03))

    97.      {test.color(orange);

    98.      {test.size(orange);

    99.      {test.juice(orange);

    100.              test.eating(orange);

    101.             

    102.              }

    103.             

    104.             

    105.             

    106.              }

    107.             

    108.             

    109.             

    110.             

    111.          }

    112.      }

    (上程序有问题,请求救援!!)

    4. 猜数字游戏。随机产生一个1—100的整数,让用户去猜,猜大了(或者猜小了)都有提示;直到用户猜对,提示成功,程序结束。

    package Homework09_java;

    import java.util.Scanner;

    import java.util.Random;

    public class GuessNumber {

        public static void main(String[] args)

        {Random rand=new Random();

        int number=rand.nextInt(100);

           

           

            Scanner scanner=new Scanner(System.in);

            System.out.println("请输入一个值:");

            while(true)

            {int data=scanner.nextInt();

            //用户输入的值

                if (data>number)

                {System.out.println("大了,请继续输入");

                continue;}

                if (data<number)

                {System.out.println("小了,请继续输入");

                continue;}

               

                if (data==number)

                {System.out.println("成功");

                break;}

               

                   

               

               

               

            }

       

           

           

        }

       

       

       

     

    }

     

    5. 一个正整数,如果恰好等于除它本身外的所有因子之和,这个数就称为“完数”。

    例如6=1+2+3,编程找出1000以内的所有完数。

    package Homework09_java;

     

    public class Wanshu

    {   void wanshu ()

        {   int i,j,s=0;

            for (i=1;i<=1000;i++)

                {for (j=1;j<i;j++)

                        {if (i%j==0)

                            {s+=j;}

                       

               

                        if (s==i)

                        System.out.println(i+" ");

                        }                                                                                                                                                          

                }

               

           

        }

     

    }

    package Homework09_java;

     

    public class Main {

        public static void main(String[] args)

        {Wanshu ws=new Wanshu();

        ws.wanshu();

           

           

        }

     

    }

     

    6. 输出所有水仙花数(如果一个3位正整数的各个位数立方和等于这个数本身,称为水仙花数)。

    package Homework09_java01;

    public class DaffodilNumber {

    public void main()

    {int num,i,a,b,c;
    for (i=100;i<1000;i++)
    {num=i;
    a=num%10;
    num=num/10;

    b=num%10;
    num=num/10;

    c=num%10;
    if ((a*a*a+b*b*b+c*c*c)==i)
    {
    System.out.println(i  );
    }


    }


    }

    }

    package Homework09_java01;

    public class Main {
    public static void main(String [] args)
    {DaffodilNumber dn=new DaffodilNumber();
    dn.main();


    }


    }

     

     

  • 相关阅读:
    Bootsrap 的 Carousel
    Bootstrap 的 Tooltip 和 Popover
    JavaScript 继承
    Bootstrap 的 Collapse
    Bootstrap 组件之 Panel
    Bootstrap 组件之 List group
    Bootstrap 组件之 Nav
    使用 classList API
    Bootstrap 的 Dropdown
    Bootstrap 的 Modal
  • 原文地址:https://www.cnblogs.com/lyxcode/p/7244622.html
Copyright © 2011-2022 走看看