*
Title:
**
Description:
*
Copyright: Copyright (c) 2005
**
Company:
** @author not attributable * @version 1.0 */
public class Pg0501 {
private int num; //被分解的数 private int s[]; private int count; //
public Pg0501(int n) {
//?
setNum(n); }
public void setNum(int n) {
//?
num=n;
//分解过程 if (num<2) {
s=new int[0]; count=0; return; }
int i=2; int t=num; int k=0; while (i<=t) {
if (t%i==0) {
++k; t/=i; }
else {
++i; } }
s=new int[k]; count=k;
i=2; t=num; k=0;
while (i<=t) {
if (t%i==0) {
s[k]=i; ++k; t/=i; } else {
++i; } }
}
public String toString() {
//??
String temp=\ temp+=num; temp+=\ int i;
for(i=0; i temp+=s[i]; temp+=\ } temp+=s[i]; return temp; } public int getCount() { return count; } } 类的设计2 /** * Copyright(C) 2010 XXX. * 项目名称: * XXX * 模块概述: * 单词分解类 * 备注: * 在简单进行程序设计的情况下,单词分解可能是一个很简单的问题,如\2010 XXX.\这一句话分解的结果是\、\、\、\共四个单词,如果用程序来表达,可能就是下面的一段代码: public class analyzer { public static void main(String[] args) { String sentence; //原始句子 String separator=\分隔符 int i, j; i=0; while(i if (separator.indexOf(sentence.charAt(i))>=0) {++i; continue;} //跳过连续的分隔符 j=i; //当前字符一定是一个单词的开始 while (i System.out.println(sentence.substring(j,i)); //取出一个单词 } } } * 上述代码中有效的内容不过10行左右,但是这样进行程序设计,仅仅是完成了一次查找和输出过程,不仅可能没有完成任务,甚至是做了无用功,难于满足使用者(程序员)的要求,因而可复用的价值很低。实际的需求可能就是“设计一个单词分解类”这样简单给出的,但如果能够仔细研究一下,从满足各色可能的用户期望的角度考虑,再充分考虑代码的可复用性以及对象的重用性,那么如下的类的设计描述也仅能反映出部分需求: public class analyzer { private String sentence; //原始句子 private String[] identifier; //单词(此处使用数组而不是ArrayList等类型,增加一点实现上的难度) private String separator=\分隔符 private int sPos=0; public analyzer(String sen, String sep) //构造方法,构造时完成分解 { } public void setSentence(String s) //更改句子的方法,在更改的过程中也完成分解 { } public void setSeparator(String s) //更改分隔符的方法,在更改的过程中也完成分解 { } private void make() //分解方法 { } public String getString(int pos) //取出指定序号位置的单词的方法 { } public String getString() //按顺序取出一个单词的方法 { } } 从上述并不完整的设计方案中可以看出,要想设计好一个类,有时已经不是在于总结和学习设计技术方法的层面了,而是在于用心,简单的说,就是多从用户需求的角度考虑,既要满足具体需求,也要具备灵活性。 */ package example; public class analyzer { private String sentence; //原始句子 private String[] identifier; //单词 private String separator=\分隔符 private int sPos=0; public analyzer(String sen, String sep) //构造方法,构造时完成分解 { sentence=sen; separator=sep; make(); } public void setSentence(String s) //更改句子的方法,在更改的过程中也完成分解 {
相关推荐: