5、利用接口实现动态的创建对象[选做题] • 5.1 创建4个类: 苹果 香蕉 葡萄 园丁 • 5.2 在三种水果的构造方法中打印一句话. • 以苹果类为例 • class apple • { • public apple() • { • System.out.println(―创建了一个苹果类的对象‖); } • } 课后作业 类图如下: • 5.3 要求从控制台输入一个字符串,根据字符串的 值来判断创建三种水果中哪个类的对象

 

package homework;

 

public interface fruit{

 

class apple implements fruit {

public apple() {

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

}

}

class oranges implements fruit{

 

public oranges() {

 

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

 

}

 

}

class pear implements fruit{

 

public pear() {

 

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

 

}

 

}

 

 

}package homework;

 

import java.util.Scanner;

 

import homework.fruit.apple;

import homework.fruit.oranges;

import homework.fruit.pear;

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 pear();

 

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

 

f=new oranges();

 

}

 

return f;

 

 

}

 

}

 

 

 

 

 

 

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

 

length()

equals()

package homework;

 

import java.util.Scanner;

 

public class dd {

 

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.输入一个字符串,判断里面数字、大写字母、小写字母,其他字符的个数

 

toCharArray();

 

package homework;

 

import java.util.Scanner;

 

public class dd {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc=new Scanner(System.in);

 

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

 

String gd=sc.next();

int dax=0;

int xiaox=0;

int qita=0;

 

for (int i = 0; i < gd.length(); i++) {

char c=gd.charAt(i);

 

if(Character.isUpperCase(c)){

dax++;

}else if(Character.isLowerCase(c)){

xiaox++;

}

 

}

 

qita=gd.length()-dax-xiaox;

 

System.out.println("字符串中大写的字母数为:"+dax+"\n小写的字母数为:"+xiaox+"\n其他字符数为:"+qita);

 

 

 

}

 

}

 

 

 

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

 

startwith,  contain

package homework;

 

import java.util.Scanner;

 

public class dd {

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();

 

}

public static void main(String[] args) {

shuru();

}

 

}

 

 

 

4.输入三个单词,组合成pascal命名法的字符串。(选做)

输入:

STU

manage

system

输出

StuManageSystem

 

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

 

package homework;

 

import java.util.Scanner;

 

public class dd {

 

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 on 2023-06-08 21:29  丝毫不慌  阅读(10)  评论(0编辑  收藏  举报