编写程序:
1、将原字符串中的子串<用<来代替,子串>用>来代替,比如输入字符串abc<%()>efg>><
输出字符串abc<%()>><
(不能直接用string 类的replaceAll方法)
2、水果箱(Box)可以用来存放各种不同的水果(Fruit)具体的水果包括苹果(Apple)、
桔子(Orange)、梨(pear)等,不同的水果有不同的重量和颜色,我们可以向水果箱添加(add)
取出水果(remove),还可以列出水果箱中不同水果和类、重量、颜色(list),请用OOP的编程
思想(java实现上面的水果箱,并写出单元测试代码)
1、将原字符串中的子串<用<来代替,子串>用>来代替,比如输入字符串abc<%()>efg>><
输出字符串abc<%()>><
(不能直接用string 类的replaceAll方法)
2、水果箱(Box)可以用来存放各种不同的水果(Fruit)具体的水果包括苹果(Apple)、
桔子(Orange)、梨(pear)等,不同的水果有不同的重量和颜色,我们可以向水果箱添加(add)
取出水果(remove),还可以列出水果箱中不同水果和类、重量、颜色(list),请用OOP的编程
思想(java实现上面的水果箱,并写出单元测试代码)
解决方案 »
- 第一次碰到这种问题!求围观。
- 测试下你是否真的理解JAVA运行机制和执行顺序
- 这个为什么报exception 排序不成功
- 弄了4个小时没搞明白
- 对现状感到有一些困惑,希望过来人来帮助一下。
- 用java HSSF读取Excel文件出错!!! 大家来帮帮忙吧!!
- 在使用JDBC连接SQL Server 2000时发现无法使用getObject方法检索real类型的数据,这是为什么,请教各位大虾!
- 如何动态设置一个编辑区(文本区域)中某一行的前景色和背景色?
- where can I have the crack/keygen of Together for JBuilder?
- 如何在事件监听器类中调用swing中的画图函数?graphcis g为什么传不进去?
- 还是Runtime问题请教!!!
- HttpServletRequest.setCharacterEncoding("gb2312");编译时报如下错
2。用一个集合类三,比如用ArrayList,里面存放的对象就是了
public class Word {
public static void main(String args[]){
String a="aa<bb>cc";
String b="";
int flag=0;
// char c[]=a.toCharArray(); for(int i=0;i<a.length();i++){
flag = 0;
if (a.charAt(i) == '<') {
b = b + "<";
flag = 1;
}
if (a.charAt(i) == '>') {
b = b + ">";
flag = 1;
}
if (flag == 0) {
b=b+a.charAt(i);
}
}
System.out.println(a);
System.out.println(b);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Word {
public static void main(String args[])throws IOException{ String Str=null;
String endStr="";
int flag=0;
try {
System.out.println("Please keyboard input Expression: ");
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
Str = br.readLine();
} catch (IOException e) {
System.out.println(e.toString());
}
for(int i=0;i<Str.length();i++){
flag = 0;
if (Str.charAt(i) == '<') {
endStr = endStr + "<";
flag = 1;
}
if (Str.charAt(i) == '>') {
endStr = endStr + ">";
flag = 1;
}
if (flag == 0) {
endStr=endStr+Str.charAt(i);
}
}
System.out.println(endStr);
}
}
抽取出他们的共性及默认实现方法放在上层的水果类中
特有的属性及方法在子类中实现实现每一个toString()方法以方便打印同时需要定义一个水果箱类,可以直接对java的容器类List进行包装来产生
也就是水果箱类需要定义一个List属性来存放所有的水果List的add/remove/iterate方法直接通过水果箱类透出来给客户调用针对水果箱类的关键业务方法,也就是上面的add/remove/list方法设计相应的
单元测试方法如testAdd1,testAdd2,testRemove,testList
不过单元测试吗,基本是要用利用JUnit来写了替换<为<假如不能用replaceAll,可以用replace或charAt方法循环替换啊
{
String name;
int color;//颜色最好是用1.5的枚举类型,可我不会
float weight; public static final String APPLE_NAME = "apple"; public static final String PEAR_NAME = "pear"; public static final int APPLE_ID = 0;
public static final int PEAR_ID = 1;
//下面几个函数我就部剧题写了
<<get>><<set>>
}public class Apple extends Fruit
{ public Apple(int color,int weight)
{
this.color = color;
this.weight = weight;
}}
//其它水果一样
//下面用到了switch,如果要去掉,可以看看《重构-改善现有代码设计>>
public class FruitFactory
{
public static Fruit createFruit(int ID,int color ,float weight)
{
Fruit fruit = null;
swithc(ID)
{
case Fruit.APPLE_ID: fruit = new Apple(color ,weight);
case Fruit.PEAR_ID: fruit = new Pear(color ,weight);
}
return fruit; }
public static Fruit createFruit(String name,int color ,float weight)//基本同上,不写
}
public class Box
{
ArrayList fruitList
public Box()
{
fruitList=new ArrayList();
}
public void addFruit(Fruit fruit)
{
if(fruitList !=null) fruitList.add(fruit);
}//不想写了,差不多就是这样了。//通过ID来判断 种类就可以了。}
如果需要进一步的解藕(就是 每加一种水果,就需要修改类Fruit )。需要反射机制了。
事实上 这个题目对于一些人来说 最大的难点不是对象的概念,恐怕是实际动手写代码经验上的欠缺。
很难想象 这位张真人的牛有多大? 起点有多高。 不知道这位牛人当初是否作过world这个程序 也许牛人直接搞操作系统内核去了?
兄弟学java不久,看了您的程序有一点不懂。请教一下。
java在对fruit操作时不是可以自动识别是那个子类吗?为什么还要用id来判断?有什么好处