第十次Java作业

5、利用接口实现动态的创建对象[选做题]

• 5.1 创建4个类:苹果、香蕉、葡萄、园丁  

• 5.2 在三种水果的构造方法中打印一句话.以苹果类为例

class apple {

public apple() {

System.out.println(―创建了一个苹果类的对象‖);

}

}

• 5.3 要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象

package food;

 

public interface fruit{

 

    class apple implements fruit {

       public apple() {

 

               System.out.println("创建了一个苹果类对象");

 

           }

   }

    class grape implements fruit {

 

           public grape() {

 

               System.out.println("创建了一个葡萄类的对象");

 

           }

 

       }

 

       class banana implements fruit {

 

           public banana() {

 

               System.out.println("创建了一个香蕉类的对象");

 

           }

 

       }

   }

 

 

 

package food;

import java.util.Scanner;

 

import food.fruit.apple;

 

import food.fruit.grape;

 

import food.fruit.banana;

public class gardener {

 

   public static void main(String[] args) {

    

       gardener g = new gardener();

 

           g.create();

 

       }

 

       public fruit create() {

 

           Scanner sc = new Scanner(System.in);

 

           System.out.println("请输入水果名称");

 

           String name = sc.next();

 

           fruit F = null;

 

           if (name.equals("苹果")) {

 

               F = new apple();

 

           } else if (name.equals("香蕉")) {

 

               F = new banana();

 

           } else if (name.equals("葡萄")) {

 

               F = new grape();

 

           }

 

           return F;

 

       }

 

   }

 

 

 

 

  1. 输入6位密码,再次输入密码,如果不够6位,提示,位数不对,如果两次不一致,提示两次密码不一致。

package food;

import java.util.Scanner;

public class mima {

 

public static void main(String[] args) {

 

      

               Scanner sc = new Scanner(System.in);

 

               System.out.println("请输入您的密码");

 

               String pass1 = sc.next();

 

               System.out.println("请再次输入密码");

 

               String pass2 = sc.next();

 

               if (pass1.length() > 0 && pass1.length() < 6) {

 

                   System.out.println("位数不足");

 

               } else if (!pass1.equals(pass2)) {

 

                   System.out.println("两次密码不一致");

 

               }

 

           }

 

       }

 

 

 

 2.输入一个字符串,如果开头是ok并且包含no,那么输入错误。

 

package food;
import java.util.Scanner;
public class mima {

static Scanner sc=new Scanner(System.in);

public static void shuru(){

System.out.println("请输入一段字符");

String string=sc.next();

if(string.startsWith("ok")&&string.contains("no")){

System.out.println("输入错误");

}else{

System.out.println("输入正确");

}

System.out.println("是否从新输入?Y/N");

if (sc.next().equalsIgnoreCase("y")){

panduan();

} else {

System.out.println("谢谢使用");

}

}

public static void panduan(){

shuru();

}

 


}

package food;

public class text {

public static void main(String[] args) {

mima c=new mima();

c.shuru();

}

 

 


}

 

 

 

 

 1.输入三个单词,组合成pascal命名法的字符串

输入:STU

manage

system

输出

StuManageSystem 

可以考虑:charAt,touppercase,tolowercase等等。字符串连接+ concat。

 

package food;

 

import java.util.Scanner;

 

public class mima {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

 

        Scanner sc = new Scanner(System.in);

 

        System.out.println("请输入第一段字符串");

 

        String s1 = sc.next();

 

        String string0 = s1.substring(0, 1);

 

        String string1 = s1.substring(1, 3).toLowerCase();

 

        System.out.println("请输入第二段字符串");

 

        String s2 = sc.next();

 

        String string2 = s2.substring(0, 1).toUpperCase();

 

        String string3 = s2.substring(1, 6);

 

        System.out.println("请输入第三段字符串");

 

        String s3 = sc.next();

 

        String string4 = s3.substring(0, 1).toUpperCase();

 

        String string5 = s3.substring(1, 6);

 

        System.out.println(string0 + string1 + string2 + string3 + string4 + string5);

 

    }

 

}

 

posted @ 2023-06-28 12:45  风再起时,  阅读(9)  评论(0编辑  收藏  举报