之前的随笔中的程序在思考后发现,运用了太多的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 }
粗体代码为修改增加的部分。这样就完成了一个程序的封装。
时间: 2024-10-11 23:39:44