java第十次作业

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

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

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

  class apple {

public apple() {

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

}

}

• 5.3 要求

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

package rrrr;

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 rrrr;

import java.util.Scanner;

import rrrr.Fruit.apple;

import rrrr.Fruit.grape;

import rrrr.Fruit.banana;

public class Gardener {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        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 ooo;

import java.util.Scanner;

public class Wyy {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        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 ooo;


import java.util.Scanner;

public class Wyy {

    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 ooo;

public class ttt {


        public static void main(String[] args) {

    // TODO Auto-generated method stub

            Wyy w = new Wyy();

            w.shuru();

        }

    }

 

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

输入:STU

manage

system

输出

StuManageSystem 

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

package ooo;


import java.util.Scanner;

public class Wyy {

    

    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-19 22:32  王师蕴  阅读(28)  评论(0)    收藏  举报