javase字符串值修改

 1 package com.it18day19;
 2 /**
 3  * 字符串值修改
 4  * @author feigu
 5  *
 6  */
 7 public class SplitString {
 8 
 9     public static void main(String[] args) {
10         String str="session_count=2|1s_3s=1|4s_6s=0|7s_9s=0";
11         //查找的字符串
12         String str2="1s_3s";
13         //想要修改为的值
14         int num=3;
15         System.out.println("原来字符串为:");
16         System.out.println(str);
17         System.out.println("修改后字符串为:");
18         String s=split(str, str2, num);
19         System.out.println(s);
20         
21     }
22     public static String split(String str,String str2,int num){
23         String endStr="";
24         //根据"|"切割字符串为数组
25         String[] str1=str.split("\\|");
26         
27         //遍历数组,如果数组元素=查找字符串,就对其值进行修改,返回(原来值+设置的值)
28         for(int i=0;i<str1.length;i++){
29             if(str1[i].substring(0, str1[i].length()-2).equals(str2)){
30                 int sumNum=0;
31                 int endNum=0;
35                 endNum=Integer.parseInt(str1[i].substring(str1[i].length()-1, str1[i].length()));
37                 str1[i]=str1[i].substring(0, str1[i].length()-1)+(num+endNum);
38             }
39             //重新合并数组为字符串
40             //如果不是最后一个元素,就再添加|;
41             if(i!=str1.length-1){
42                 endStr +=str1[i]+"|";//+=是在字符串上继续添加
43             }
44             else{
45                 //如果是最后一个元素,不需添加|
46                 endStr +=str1[i];
47             }
48         }
49         //返回重新组合的字符串
50         return endStr;
51     }
52 }
  1 package com.it18day19;
  2 
  3 import java.util.ArrayList;
  4 
  5 /**
  6  * 把列表中的TOP3的最大数放在数组中
  7  * 
  8  * @author feigu
  9  *
 10  */
 11 public class PutSort {
 12 
 13     public static void main(String[] args) {
 14         // TODO Auto-generated method stub
 15         ArrayList<Integer> list = new ArrayList<Integer>();
 16         list.add(87);
 17         list.add(69);
 18         list.add(37);
 19         list.add(97);
 20         list.add(19);
 21         list.add(80);
 22         list.add(46);
 23         int max = 0;
 24         int seMax = 0;
 25         int thMax = 0;
 26         //定义存放前三个最大数的容器数组
 27         int[] arr = new int[3];
 28         //取出最大值
 29         for (Integer inte : list) {
 30             if (max < inte) {
 31                 max = inte;
 32             }
 33         }
 34         //取出第二最大值
 35         for (Integer inte : list) {
 36             if (inte == max) {//如果碰到最大值,跳出本次循环
 37                 continue;
 38             } else if (seMax < inte) {
 39                 seMax = inte;
 40             }
 41         }
 42         //取出第三最大值
 43         for (Integer inte : list) {
 44             if (inte == max || inte == seMax) {//碰到前2大数值,跳出本次循环
 45                 continue;
 46             } else if (thMax < inte) {
 47                 thMax = inte;
 48             }
 49         }
 50         System.out.println("集合中元素排序为:");
 51         for(Integer i:list){
 52             System.out.print(i+" ");
 53         }
 54         System.out.println();
 55         arr[0] = max;
 56         arr[1] = seMax;
 57         arr[2] = thMax;
 58         System.out.println("TOP前3的数分别为:");
 59         for (int i : arr) {
 60             System.out.print(i+" ");
 61         }
 62     }
 63 }
 64 第二种方法
 65 package com.it18zhangday20;
 66 /**
 67  * 把列表中的top3的数值搞到数值中,(不允许对改变列表)
 68  */
 69 import java.util.ArrayList;
 70 import java.util.Iterator;
 71 import java.util.List;
 72 
 73 public class Trans {
 74 
 75     public static void main(String[] args) {
 76         // TODO Auto-generated method stub
 77         Integer[] top3=new Integer[3];
 78         List<Integer> a = new ArrayList<>();
 79         a.add(12);
 80         a.add(15);
 81         a.add(16);
 82         a.add(52);
 83         a.add(56);
 84         Iterator<Integer> it = a.iterator();
 85         while(it.hasNext()){
 86             Integer score=it.next();
 87             for(int i=0;i<3;i++){
 88                 if(top3[i]==null){
 89                     top3[i]=score;
 90                     break;
 91                 }
 92                 else if(score>top3[i]){
 93                     for(int j=2;j>i;j--){
 94                         top3[j]=top3[j-1];
 95                     }
 96                     top3[i]=score;
 97                     break;
 98                 }
 99             }
100         }
101         System.out.println(top3[0]);
102         System.out.println(top3[1]);
103         System.out.println(top3[2]);
104     }
105 }

 

posted on 2017-04-13 16:56  艺海浮台  阅读(234)  评论(0编辑  收藏  举报