第十次作业

利用接口实现动态的创建对象[选做题] • 5.1 创建4个类: • 苹果 • 香蕉 • 葡萄 • 园丁 • 5.2 在三种水果的构造方法中打印一句话. • 以苹果类为例 • class apple • { • public apple() • { • System.out.prin

 

package w;
public interface Fruit {
class Apple implements Fruit{
public Apple() {
System.out.println("创建了一个苹果类的对象");
}
}
class Pear implements Fruit{
public Pear() {
System.out.println("创建了一个香蕉类的对象");
}
}
class Oranges implements Fruit{
public Oranges() {
System.out.println("创建了一个葡萄类的对象");

}
}

}

package w;
import java.util.Scanner;
import w.Fruit.Apple;
import w.Fruit.Oranges;
import w.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;
}

}

 

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

 

 

 

package w;

import java.util.Scanner;
public class zifuchuan {

 

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的密码");
String password1=sc.next();

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

String password2=sc.next();

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

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


}else if(!password1.equals(password2)) {

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

}


}

}

 

 

 

 

 

3.输入一个字符串,判断里面数字、大写字母、小写字母,其他字符的个数

 

toCharArray();

 

package w;

 

import java.util.Scanner;

 

public class zifu {

 

public static void main(String[] args) {

 

// TODO Auto-generated method stub

 

Scanner sc=new Scanner(System.in);

 

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

 

String zf=sc.next();

 

int dax=0;

 

int xiaox=0;

 

int qita=0;

 

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

 

char c=zf.charAt(i);

 

if(Character.isUpperCase(c)){

 

dax++;

 

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

 

xiaox++;

 

}

 

}

 

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

 

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

 

}

 

}

 

 

 

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

 

package w;

 

import java.util.Scanner;

 

public class changs {

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

 

public class changsText {

 

public static void main(String[] args) {

 

// TODO Auto-generated method stub

 

changs c=new changs();

 

c.shuru();

 

}

 

}

 

 

 

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

package w;

 

import java.util.Scanner;

 

public class zfpingjie {

 

public static void main(String[] args) {

 

// TODO Auto-generated method stub

 

Scanner sc=new Scanner(System.in);

 

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

 

String s1=sc.next();//STU

 

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

 

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

 

 

 

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

 

String s2=sc.next();//manage

 

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

 

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

 

 

 

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

 

String s3=sc.next();//system

 

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 14:08  是小王同学  阅读(11)  评论(0)    收藏  举报