对上次“对字符串进行简单的字符数字统计 探索java中的List功能 ”程序,面向对象的改进

时间:2022-06-28 08:03:22

之前的随笔中的程序在思考后发现,运用了太多的static 函数,没有将面向对象的思想融入,于是做出了一下修改:

 import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner; public class classtest { List<String> number=new ArrayList<String>();
List<String> word=new ArrayList<String>(); classtest(){};
void count(List<String> l){
for(int i=0;i<l.size();i++){
if(isnumber(l.get(i))){
number.add(l.get(i));
}else word.add(l.get(i));
}
System.out.println("NUMBERCOUNT: "+number.size());
System.out.println("WORDCOUNT: "+word.size());
}//统计字符串和数字的个数 boolean isnumber(String a){
try {
Integer.parseInt(a);//数字字符串转换int型数字 “123”->123
return true;
} catch (Exception e) {
return false;
}
}//判断是否为数字 public static void main(String[] args) {
classtest s=new classtest();
System.out.println("please input the string");
Scanner get=new Scanner(System.in);
String str=get.nextLine();
System.out.println("string is "+str);//键盘获取字符串 List<String> list=new ArrayList<String>();//problem? String[] text = str.split(" ");
for(int i=0;i<text.length;i++){
list.add(text[i]);
}//存入list s.count(list);

//Collections.sort排序
Collections.sort(s.number);
Collections.sort(s.word);
System.out.println("number sort:"+s.number);
System.out.println("word sort:"+s.word);
} }

粗体代码为修改增加的部分。这样就完成了一个程序的封装。