1. 程式人生 > >每天少不了的幾道題,程式碼不能停(1)

每天少不了的幾道題,程式碼不能停(1)

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的作用和使用方式各是什麼?