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

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

 1 import java.util.ArrayList;
 2 import java.util.Collections;
 3 import java.util.List;
 4 import java.util.Scanner;
 5 
 6 
 7 public class classtest {
 8     
 9     List<String> number=new ArrayList<String>();
10     List<String> word=new ArrayList<String>();
11     
12     classtest(){};
13     void count(List<String> l){
14         for(int i=0;i<l.size();i++){
15             if(isnumber(l.get(i))){
16                 number.add(l.get(i));
17             }else word.add(l.get(i));
18         }
19         System.out.println("NUMBERCOUNT:  "+number.size());
20         System.out.println("WORDCOUNT:  "+word.size());
21     }//统计字符串和数字的个数
22     
23     
24     boolean isnumber(String a){
25          try {
26                Integer.parseInt(a);//数字字符串转换int型数字    “123”->123
27                return true;
28               } catch (Exception e) {
29                return false;
30               }
31     }//判断是否为数字
32     
33     
34     
35     public static void main(String[] args) {
36         classtest s=new classtest();
37         System.out.println("please input the string");
38         Scanner get=new Scanner(System.in);
39         String str=get.nextLine();
40         System.out.println("string is "+str);//键盘获取字符串
41         
42         List<String> list=new ArrayList<String>();//problem?
43         
44         String[] text = str.split(" ");
45         for(int i=0;i<text.length;i++){
46             list.add(text[i]);
47         }//存入list
48         
49         
50         s.count(list);
51     
52     //Collections.sort排序
53         Collections.sort(s.number);
54         Collections.sort(s.word);
55         System.out.println("number sort:"+s.number);
56         System.out.println("word sort:"+s.word);
57     }
58 
59 }

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

原文地址:https://www.cnblogs.com/zyn95186/p/5394328.html