面试题(一)

     题1:给定一个字符串、一个起始字符和一个终止字符,找起始字符和终止字符之间的字符串。

public static void main(String[] args) {
		String str = "abcdcbaabcdfasdfbadbcbdaaosjfabcs";
		String firstChar = "b";
		String lastChar = "c";
		int firstCharIndex = str.indexOf(firstChar);
		int lastCharIndex = str.lastIndexOf(lastChar);
		int number = 0;
		while (firstCharIndex > -1 && firstCharIndex < str.length()
				&& firstCharIndex < lastCharIndex) {
			while (firstCharIndex > -1 && firstCharIndex < lastCharIndex
					&& lastCharIndex > -1) {
				String subStr = str
						.substring(firstCharIndex, lastCharIndex + 1);
				System.out.println("第" + number++ + "个字符串为:" + subStr
						+ ";起始位置为:" + firstCharIndex + ",终止位置为:"
						+ lastCharIndex);
				lastCharIndex = str.lastIndexOf(lastChar, lastCharIndex - 1);
			}
			lastCharIndex = str.lastIndexOf(lastChar);
			firstCharIndex = str.indexOf(firstChar, firstCharIndex + 1);
		}

	}

  

题2:经典面试题,将数字转化为人民币大写

/**
     * 转化
     * @param oInt
     * @return
     */
    public static String strToChinese(int oInt){
        String[] s3 = {"","万","亿","兆"};
        int i = 0;
        String s = "";
        while(oInt>0){
            int fourBit = oInt%10000;
            String temp = handleFourNumberInt(fourBit);
            if(s==""||(s.length()>1&&s.charAt(1)=='千')){
                s = temp+s3[i]+s;
            }else{
                s = temp+s3[i]+"零"+s;
            }
            oInt = oInt/10000;
            i++;
        }
        System.out.println("S:"+s);
        return s;
    }
    /**
     * 处理四位以下下整数
     * @param oInt
     * @return
     */
    public static String handleFourNumberInt(int oInt){
        String[] s1 = {"零","一","二","三","四","五","六","七","八","九"};
        String[] s2 = {"","十","百","千"};
        String resultStr = "";
        int i=0;
        while(oInt>9){
            int l = oInt%10;
            if(l==0){//如果resultStr为空,不添加
                int size = resultStr.length();
                if(size==0){
                    ;
                }else if(resultStr.charAt(0)=='零'){  //如果前面已有零,不添加
                    ;
                }else{
                    resultStr = "零"+resultStr;
                }
            }else{
                resultStr = s1[l]+s2[i]+resultStr;
            }
            oInt = oInt/10;
            i++;
        }
        resultStr = s1[oInt]+s2[i]+resultStr;
        System.out.println(resultStr);
        return resultStr;
    }
原文地址:https://www.cnblogs.com/caijing/p/3344624.html