201671010114 201620172 《Java程序设计》第六周学习总结

    在第六周学习了接口,接口中包含抽象方法和常量。抽象类中既可以抽象方法也以包含具体的方法,接口中的方法被自动设置为public。使用接口的类不是抽象类必须实现接口中的所有抽象方法。一个类只能有一个父类但可以有多个接口。Timer类可以使用它在到达特定时间间隔时发出通告。在String类中可以直接使用Arrays.sort()方法。但要是其他类的话就必须实现Comparable接口。在lambda表达式中在比较字符串的长度时可以通过参数+->+一个表达式。它是一个可传递的代码块,可以在以后执行一次或多次。

 在这次的编程实验中,对身份证文件中姓名按字典序排序用Arrays.sort()方法会出错。可能只适用于字母排序,要把汉字转化为拼音。深拷贝还是不太懂,程序中的有些注释不是特别会。

上次出现的问题

for(int i=0;i<n;i++)
        {
          System.out.println("请输入图形形状:");        
          String a = in.nextLine();
         if(a.equals("rect"))
            {
          System.out.println("请输入长宽:");
             Rectangle rec = new Rectangle(in.nextDouble(),in.nextDouble());
                arr[i] = rec;
                rec.getArea();
                peri[i] = rec;
                rec.getPerimeter();
            }
           if(a.equals("cir"))
         {
          System.out.println("请输入半径:");
          Circle cir = new Circle(in.nextDouble());         
          arr[i] = cir;
          cir.getArea();
          peri[i] = cir;
          cir.getPerimeter();
         }
        }

i++在for里面不可以执行;

for(int i=0;i<n;)
        {
          System.out.println("请输入图形形状:");
          String a = in.nextLine();
         if(a.equals("rect"))
            {
          System.out.println("请输入长宽:");
             Rectangle rec = new Rectangle(in.nextDouble(),in.nextDouble());
                arr[i] = rec;
                rec.getArea();
                peri[i] = rec;
                rec.getPerimeter();
                i++;
            }
           if(a.equals("cir"))
         {
          System.out.println("请输入半径:");
          Circle cir = new Circle(in.nextDouble());         
          arr[i] = cir;
          cir.getArea();
          peri[i] = cir;
          cir.getPerimeter();
          i++;
         }
        }

i++写在语句里面就可以执行。

原文地址:https://www.cnblogs.com/kww2407127266/p/7638988.html