go for it -- 2

来源:互联网 发布:linux echo连接字符 编辑:程序博客网 时间:2024/05/09 08:47
NO 1
package org.bian;import java.util.ArrayList;/**** *  *输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间 结果化为整形。 3. *例如: 输入:3+8×2/9-2 4. *输出:2 *  *函数原型 6. *view plain 7. *01. public int getMyRet(String str)  *  *@author Bian . */public class Test8 {public static void main(String[] args) {String str = "3+8*2/9-2";Test8 test = new Test8();System.out.println(test.getMyRet(str));}public int getMyRet(String str) {int sum=0;int len = str.length();ArrayList<String> list = new ArrayList<String>();for (int i = 0; i < len; i++) {list.add(str.charAt(i)+"");  // bravo !!}System.out.println(list);for (int m = 0; m <list.size(); m++) {if(list.get(m).equals("*")||list.get(m).equals("/")){if(list.get(m).equals("*")){int temp=Integer.parseInt(list.get(m-1))*Integer.parseInt(list.get(m+1));list.add(m-1, temp+"");System.out.println(list);list.remove(m);   // caution !!list.remove(m);list.remove(m);m--;             // caution !!System.out.println(list);}else {int temp=Integer.parseInt(list.get(m-1))/Integer.parseInt(list.get(m+1));System.out.println(temp);list.add(m-1, temp+"");System.out.println(list);list.remove(m);list.remove(m);list.remove(m);System.out.println(list);m--;System.out.println("********");}}}for(int m=0;m<list.size();m++){if(list.get(m).equals("+")||list.get(m).equals("-")){if(list.get(m).equals("+")){sum=Integer.parseInt(list.get(m-1))+Integer.parseInt(list.get(m+1));list.add(m-1,sum+"");list.remove(m);list.remove(m);list.remove(m);m--;}else {sum=Integer.parseInt(list.get(m-1))-Integer.parseInt(list.get(m+1));list.add(m-1,sum+"");list.set(m-1, sum+"");list.remove(m);list.remove(m);list.remove(m);m--;}}}return sum ;}}

NO 2

package org.bian;import java.util.ArrayList;/* * ***   2.   * 输入字符串长度,字符串,计数m。   3.   * 从前往后计数,当数到m个元素时,m个元素出列,同时将该元素赋值给m,   4.   * 然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数 字。输出出队队列。   5.   * 例如:  输入:len=4    str="3,1,2,4"   m=7      6.   * 输出:2,3,1,4     7.   * 函数原型   8.   * public String getOutString(int len, String str, int m) */public class Test7 {public static void main(String[] args) {// TODO Auto-generated method stubString str = "3,1,2,4,5";int m = 7;System.out.println(new Test7().getOutString(5, str, m));}public String getOutString(int len, String str, int m) {String str1 = "";String []str2=str.split(",");ArrayList<String>  list = new ArrayList<String>();for(int i=0;i<len;i++){list.add(str2[i]);}for(int i=0;i<len;i++){int temp=(m-1)%list.size();m=Integer.parseInt(list.get(temp))+temp;str1+=list.get(temp);list.remove(temp);}return str1;}}

NO 3

/****  2.   * 找出字符串中出现次数最多的字母和出现的次数  3.   * @author Bian  4.   */package org.bian;import java.util.ArrayList;public class Test9 {public static void main(String[] args) {String str = "aaaahcndbedgkkk";Test9 test= new Test9();test.findNum(str);}public char findNum(String str) {int n =0;int []count=new int[str.length()];for(int i=0;i<str.length();i++){count[i]=1;}ArrayList<String> list = new ArrayList<String>();for (int i = 0; i < str.length(); i++) {list.add(str.charAt(i) + "");}for(int i=0;i<list.size();i++){for(int j=i+1;j<list.size();j++){if(list.get(i).equals(list.get(j))){count[i]+=1;list.remove(j);j--;}}}System.out.println(list);int max = count[0];for(int i =0;i<count.length;i++){if(count[i]>max){max=count[i];n=i;}}System.out.println("the max char is "+list.get(n)+" the max number is "+max);return 0;}}

NO 4

package org.bian;import java.util.ArrayList;import java.util.Arrays;/****  2.   * 拆分字符串,字符串中含有逗号和数字,对数字排序并输出  3.   * @author Bian 4.   */  public class Test11 {public static void main(String[] args) {String str = "234,56,31,";Test11 test = new Test11();test.splitString(str);}public void splitString(String str){String [] str2 =str.split(",");int [] num =new int[str2.length];for (int i=0;i<str2.length;i++){num[i]=Integer.parseInt(str2[i]); //brilliant!!}Arrays.sort(num);    // Arrays 和Array 有什么区别??for(int i=0;i<num.length;i++){System.out.println(num[i]);}}}

NO 5 

package org.bian;/* *我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点如下:  1、   长度13位; 2、   以86的国家码打头; 3、   手机号码的每一位都是数字。  请实现手机号码合法性判断的函数(注:考生无需关注手机号码的真实性,也就是说诸如86123123456789这样的手机号码,我们也认为是合法的),要求: 1)   如果手机号码合法,返回0; 2)   如果手机号码长度不合法,返回1 3)   如果手机号码中包含非数字的字符,返回2; 4)   如果手机号码不是以86打头的,返回3; 【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。 要求实现函数: int s int verifyMsisdn(char* inMsisdn) 【输入】  char* inMsisdn,表示输入的手机号码字符串。 【输出】   无 【返回】   判断的结果,类型为int。 示例 输入:   inMsisdn = “869123456789“ 输出:   无 返回:   1 输入:   inMsisdn = “8813912345678“ 输出:   无 返回:   3 输入:   inMsisdn = “8613912345678“ 输出:   无 返回:   0   */public class Test5 {public static void main(String[] args) {String str1 = "748392920103847";String str2 = "15aa651875169";String str3 = "8615651875169";Test5 test = new Test5();System.out.println(test.verifyNum(str1));System.out.println(test.verifyNum(str2));System.out.println(test.verifyNum(str3));}public int verifyNum(String str) {char[] a = str.toCharArray(); // String转换成数组System.out.println(a[0] + "----- " + a[1]);if (str.length() != 13) {return 1;}for (int i = 0; i < a.length; i++) {if (!Character.isDigit(a[i])) {return 2;}}if((Character.digit(a[0], 10)!=8)||(Character.digit(a[1], 10)!=6)){return 3;}else{return 0;}}}

NO 6 

原创粉丝点击