每天少不了的几道题,代码不能停(1)

来源:互联网 发布:java可以有多个main 编辑:程序博客网 时间:2024/04/29 19:28

1.用代码实现单利模式

public class single {//恶汉式private single(){}private static single d1=new single();public static single getsingle(){return d1;}}class  single2{//懒汉式private single2(){}private static single2 s=null;public static single2 getSingle2(){if(s==null){return new single2();}return s;}}

2.一个字符串,包含空格等标点符号,写一个函数计算出出现次数最多的字母和该字母出现的次数。

package interview;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 一个字符串,包含空格等标点符号,写一个函数计算出出现最多的字母和该字母出现的次数 * @author zhoupeng * */public class Two {static String str="faker ,andkobe *&ok?ilikeit?youngerheiheiwade";Map<String,Integer> map=new HashMap<String,Integer>();List list=new ArrayList();public static void main(String[] args) {Two t=new Two();t.Fun(str);}public  void Fun(String str){//将一个字符串转换为字符数组再转换为每一个字符数组。char [] ch=str.toCharArray();//System.out.println(ch[1]);String[] sta=new String[ch.length];for(int i=0;i<ch.length;i++){sta[i]=String.valueOf(ch[i]);}//对字符数组中的元素进行筛选,如果是字母就放入到List中for(int i=0;i<sta.length;i++){if(sta[i].matches("^[a-zA-Z]$")){list.add(sta[i]);}}//将数组中的元素放入到map中去并对其计数。Integer j = 0;for(int i=0;i<list.size();i++){if(!map.containsKey(list.get(i))){j=1;map.put((String) list.get(i), j);}else{j++;map.put((String) list.get(i), j);}}System.out.println(list);System.out.println(map);//便利map并将出现次数最多的字母与相应次数赋值打印Integer max=0;String zimu="";for(Map.Entry<String, Integer> entry:map.entrySet()){String sf=entry.getKey();Integer sn=entry.getValue();if(sn>max){max=sn;zimu=entry.getKey();}}System.out.println("出现次数最多的字母:"+zimu+" ---出现次数为"+max);}}
表示这题写出来的时候整个人都疯掉了,当然肯定会有更好的实现,这里我只是把我自己的初级实现写了出来

3.编码实现单向链表,并实现单向链表的反转。比如一个链表是这样的:1->2->3->4->5通过反转后形成5->4->3->2->1。即实现单向链表类,在该类中提供一个单向链表的反转方法,请写出完整的代码。


TODU


4.将一个GBK编码的文本文件转存为UTF-8编码的文本文件


TODU

5.JVM的启动参数都有哪些,分别表示什么。常用的诊断命令,jinfo,jmap,jstack,jps的作用和使用方式各是什么?

0 0