第十次作业
、利用接口实现动态的创建对象[选做题]
• 5.1 创建4个类:苹果、香蕉、葡萄、园丁
• 5.2 在三种水果的构造方法中打印一句话.以苹果类为例
class apple {
public apple() {
System.out.println(―创建了一个苹果类的对象‖);
}
}
• 5.3 要求
从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象
package text;
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 text;
import java.util.Scanner;
import text.Fruit.apple;
import text.Fruit.grape;
import text.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 text1;
import java.util.Scanner;
public class ccc {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 输入6位密码,再次输入密码,如果不够6位,提示,位数不对,如果两次不一致,提示两次密码不一致。
// length()
// equals()
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 aaa;
import java.util.Scanner;
public class aaa {
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 aaa;
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
aaa c=new aaa();
c.shuru();
}
}

1.输入三个单词,组合成pascal命名法的字符串
输入:STU
manage
system
输出
StuManageSystem
可以考虑:charAt,touppercase,tolowercase等等。字符串连接+ concat。
package text1;
import java.util.Scanner;
public class ccc {
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);
}
}

浙公网安备 33010602011771号