2008年2月29日 面试武汉贝斯特 惨败

来源:互联网 发布:大学人工智能专业 编辑:程序博客网 时间:2024/05/17 04:45
2008年2月29日 面试武汉贝斯特 惨败!

题目要求:
 1.用户输入任意一组字符串,个数不限制.
 2.删除字符串中包含"hello"的子字符串.
 3.统计字符串中"Java"和"Jsp"出现的个数.
 4.按统计出的个数从大到小的输出所有字符串.

代码如下:DealWithString.java 和 StringBean.java
public class StringBean {
    private String content; //字符串内容

    private Integer counter = new Integer(0); //字符个数统计.

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getCounter() {
        return counter;
    }

    public StringBean(String content) {
        super();
        this.content = content;
        setCounter("Java");
        setCounter("Jsp");
    }

    public StringBean(String content, Integer counter) {
        super();
        this.content = content;
        this.counter = counter;
    }

    public void setCounter(String pattern) {
        String sContent = this.content;
        while(sContent.indexOf(pattern)!=-1){
            sContent=sContent.substring(sContent.indexOf(pattern)+pattern.length());
            this.counter++;
        }
    }
   
    public boolean contains(String pattern){
        return this.content.contains(pattern);
    }
   
}


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

public class DealWithString {
    private ArrayList<StringBean> list = new ArrayList<StringBean>();

    public void init() {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(
                System.in));

        String in = "";
        System.out.println("input:");
        do {
            try {
                in = stdin.readLine();

                list.add(new StringBean(in));

            } catch (IOException e) {
            }
        } while (!in.equals(""));
    }

    public void printList() {
        System.out.println("");
        for (int i = 0; i < list.size(); i++) {
            StringBean bean = (StringBean) list.get(i);
            System.out.println(bean.getContent());
        }
    }

    public void delHello() {
        for (int i = 0; i < list.size(); i++) {
            StringBean bean = (StringBean) list.get(i);
            if (bean.contains("hello")) {
                list.remove(i);
                i--;
            }
        }
    }

    public void sort() {
        Comparator<StringBean> counter = new Comparator<StringBean>() {
            public int compare(StringBean b1, StringBean b2) {
                return (b2.getCounter() - b1.getCounter());
            }
        };
        Collections.sort(list, counter);
    }

    public static void main(String[] args) throws IOException {
        DealWithString dwStr = new DealWithString();
        dwStr.init();
        dwStr.printList();
        dwStr.delHello();

        dwStr.sort();
        dwStr.printList();
    }
}

原创粉丝点击