Java第十次作业
5、利用接口实现动态的创建对象[选做题]
• 5.1 创建4个类:苹果、香蕉、葡萄、园丁
• 5.2 在三种水果的构造方法中打印一句话.以苹果类为例
class apple {
public apple() {
System.out.println(―创建了一个苹果类的对象‖);
}
}
• 5.3 要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象
package aaa; 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 aaa; import java.util.Scanner; import aaa.Fruit.apple; import aaa.Fruit.grape; import aaa.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 aaa; import java.util.Scanner; public class Text { 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 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 aaa; import java.util.Scanner; public class Text { 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); } }