- uniapp实现下拉刷新
十一吖i
11uni-app服务器linux
uniapp实现下拉刷新在pages.json里面配置"enablePullDownRefresh":true{"pages":[{"path":"pages/ces/index","style":{"navigationBarTitleText":"下拉刷新测试","enablePullDownRefresh":true}},}在.vue页面的script里面配置onPullDownRefres
- Android 自定义控件基础-ListView的加载更多
琼珶和予
ListView加载更多与之前的下拉刷新实现的方式差不多,都是通过自定义控件来实现的,而且都是通过重写ListView来实现的。1.foot布局 foot布局当中有一个progressbar控件,在我们使用这个控件的时候,要注意一点:如果我们想要使用·父布局来限制progressbar的大小,如果progressbar的layout_width设置的是wrap_content的话,会发现父布
- 如何用Kotlin实现MVP架构的Android快速开发框架?
2401_84132496
程序员androidkotlin架构
下拉刷新和上拉加载更多空页面在断网情况下加载缓存网络请求错误并重新加载基于Kotlin的使用说明(Java的使用具体参考java版本的demo)导入依赖在根目录中的build.gradle文件中加入maven{url“https://jitpack.io”}在应用下的build.gradle文件中加入在自定义的Application类中的onCreate方法中初始化CommonLibrary//初
- 微信小程序知识点(二)
禾黍黎
Wechat小程序微信小程序小程序
1.下拉刷新事件如果页面需要下拉刷新功能,则在页面对应的json配置文件中,将enablePullDownRefresh配置设置为true,如下{"usingComponents":{},"enablePullDownRefresh":true}2.上拉触底事件在很多时候,我们在浏览一些购物网站的时候,往上拉的时候都是动态加载新的数据信息,这个时候就需要用到页面的上拉触底事件,来进行新数据的获取和
- vue项目vant下拉刷新,上拉加载,实现切换Tab页面数据下拉加载更多(分页)
番茄小酱001
VUE2vue.js前端javascriptsvn前端框架
1、html结构//原本这里我是写在上面的van-tab里面嵌套的,结果调用接口的时候会有bug(切换tab时接口的分页数据total为20条,结果渲染30条出来)所展示的内容2、data参数data(){return{pageNo:1,pageSize:10,loading:false,finished:false,active:'',listName:["Tab","所展示","的","内容"
- android 下拉刷新,androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
No Promises﹉
androidandroidx
介绍`androidx.swiperefreshlayout:swiperefreshlayout:1.1.0`是Android中一个常用的组件,用于实现“下拉刷新”功能。这个组件主要用于在列表(如`RecyclerView`、`ListView`等)或其他可滚动视图上,实现用户通过下拉手势来触发内容刷新操作。1.添加依赖在项目的`build.gradle`文件中添加依赖:dependencies
- XrecyclerView实现上拉加载和下拉刷新+多条目(MVP获取数据)
✎ℳ๓Eternity✾
进阶
依赖implementation'com.jcodecraeer:xrecyclerview:1.5.9'implementation'com.android.support:recyclerview-v7:28.0.0'图片加载依赖implementation'com.github.bumptech.glide:glide:4.8.0'ActivitypublicclassShoppingAct
- uni-app微信小程序上拉加载,下拉刷新
Min_nna
小程序uni-app微信小程序前端
pages.json配置官网链接onPullDownRefresh、onReachBottom函数跟生命周期同级data(){return{orderList:[],total:null,//总共多少条数据page:1,pageSize:10,}},onLoad(){},mounted(){this.getInfo()},methods:{getInfo(){API.getListxxx().th
- 微信小程序配置
我爱学习yq
微信小程序小程序
微信小程序的下拉刷新配置主要在页面的配置文件app.json中进行。在app.json中,可以使用enablePullDownRefresh字段来配置是否支持下拉刷新,该字段的值为布尔类型。示例代码如下:{"pages":["pages/index/index"],"window":{"navigationBarTitleText":"小程序","enablePullDownRefresh":tr
- 微信小程序的双向数据绑定和vue的哪里不一样?下拉刷新的方式代码示例
我爱学习yq
开发语言前端css3微信小程序
小程序的双向数据绑定和Vue的双向数据绑定有一些不同之处。实现方式:小程序的双向数据绑定采用的是数据劫持的方式,通过重写对象的get和set方法来监听数据的变化和更新视图。而Vue使用的是响应式数据的方式,通过使用Object.defineProperty()方法来劫持对象的属性。语法差异:小程序的双向数据绑定使用的是{{}}语法,将数据绑定到视图上;Vue使用的是v-model指令来实现双向数据
- 小程序列表下拉刷新和加载更多
lootaa
2024公众号小程序小程序列表加载更多下拉刷新
配置在小程序的app.json中,检查window项目中是否已经加入了"enablePullDownRefresh":true,这个用来开启下拉刷新"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor":"#fff","navigationBarTitleText":"洛塔","navigationBarText
- flutter列表长度不够,如何下拉刷新
为谁点墨成痴
在flutter开发中你是否遇到过这样的问题,当你使用了RefreshIndicator这个刷新控件时,列表的长度没有填满屏幕,所以无法下拉刷新,这是因为listview有一个参数physics,ListView不满的时候默认的physics会把shouldAcceptUserOffset设置为false所以你无法滑动这时如果我们需要让列表滑动,只需要将listview的physics设置为Alw
- 小程序下拉刷新
贰过_不贰过
pages/demo/demo.json{"backgroundTextStyle":"dark"//下拉loading的样式,仅支持dark/light}pages/demo/demo.js//下拉刷新onPullDownRefresh:function(){varthat=this;wx.showNavigationBarLoading()//在标题栏中显示加载//模拟加载setTimeout
- FlutterApp首页实现
Yue_Q
首页实现总结目录根布局Banner图AppBar卡片布局image.png根布局根布局使用Scaffold,这个是material包下的组件,它是一个路由页的骨架,可以非常容易的拼装出一个完整的页面。进入首页先显示加载,通过网络访问得到数据后关闭,还要支持下拉刷新的功能。技术点:MediaQuery.removePadding移除系统栏PaddingRefreshIndicator控制下拉刷新。L
- IOS6 自动布局 入门(1)
我的日子里
IOS--自动布局IOS6自动布局入门1
来自Ray:恭喜各位!你们已经通过宣传iosfeast提前解锁了第一个有关IOS6的教程。目前这份教程只是我们的新书iOS6ByTutorials里面某个章节的精简版。这份教程由同样著作过iOSApprenticeSeries的MatthijsHollemans完成,开始体验吧!这份教程由IOS教程小组的组员MatthijsHollemans发布,Matthijs既是一位经验丰富的IOS程序员又是
- IOS--自动布局 入门
我的日子里
IOS--自动布局IOS自动布局入门
来自Ray:恭喜各位!你们已经通过宣传iosfeast提前解锁了第一个有关IOS6的教程。目前这份教程只是我们的新书iOS6ByTutorials里面某个章节的精简版。这份教程由同样著作过iOSApprenticeSeries的MatthijsHollemans完成,开始体验吧!这份教程由IOS教程小组的组员MatthijsHollemans发布,Matthijs既是一位经验丰富的IOS程序员又是
- Android:Ionic框架使用实例
偶是不器
AndroidandroidIonic
Ionic学习ionic是一个强大的HTML5应用程序开发框架(HTML5HybridMobileAppFramework)。通过使用H5,JS,CSS构建接近原生体验的移动应用程序。ionic放弃对IOS6和Android4.1以下的版本的支持,提高应用程序的运行效率。Ionic官网地址:IonicFramework-TheCross-PlatformAppDevelopmentLeaderIo
- Blazor入门100天 : 自做一个手势滑动组件
Densen2014
BlazorBlazorhybird/MAUIBlazorBlazor组件数据库服务器运维
####0.我想在blazor模仿app实现触摸返回,下拉刷新…现在用blazor做app(blazorhybird)和支持手机浏览页面越来越多,net8也推出了一个webappauto模式,可谓是极大的利好,2024让auto流行起来,配套源码demohttps://blazor.app1.es/b20Gesture####1.新建net8blazor工程b20Gesture至于用什么模式大家各
- 聚划算百亿补贴优惠劵领取教程,聚划算抢购省钱攻略全解!
氧惠好项目
淘宝聚划算百亿补贴抢券方法是:进入淘宝百亿补贴-找到所需商品-提前10秒下拉刷新-整点时点击抢购-选择商品属性-提交订单付款。在抢券的时候一定要提高手速,确保手机网络顺畅,成功率就会比较高。淘宝聚划算百亿补贴抢券方法如下:1、先进到淘宝百亿补贴活动页面;2、找到自己所需要购买的商品,然后停留在该商品页面;3、一般优惠券整点开抢,可以在活动开抢前提前10秒下拉该页面进行刷新;4、等到整点的时候,需要
- 说说在 Android 的 RecyclerView 中如何实现下拉刷新
deniro
1SwipeRefreshLayout修改布局文件,新增SwipeRefreshLayout:.........这里我们把RecyclerView放在SwipeRefreshLayout中。2处理刷新修改活动类:publicclassMainActivityextendsAppCompatActivity{privateSwipeRefreshLayoutsrl;@Overrideprotecte
- 微信小程序(三十八)滚动容器
代码对我眨眼睛
微信小程序微信小程序小程序
注释很详细,直接上代码上一篇新增内容:1.滚动触底事件2.下拉刷新事件源码:index.wxml{{item}}index.wxsspage{background-color:floralwhite;}.Area{display:flex;justify-content:center;flex-direction:column;align-items:center;width:260rpx;}.L
- flutter NestedScrollView 下拉刷新的解决方案一
早起的年轻人
题记——执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。重要消息精通点的可以查看这里精述Flutter从入门实践到开发一个APP之UI基础篇视频flutter从入门到精通系列文章本文章将讲述:在flutter项目中使用flutter_custom_refresh_plugin来解决NestScrollView与下拉刷新组件RefreshIndicator的冲突flutter实际
- UIRefreshControl
絮语时光杨
UIRefreshControl是iOS6自带的UITableView下拉刷新控件。(instancetype)init;@property(nonatomic,readonly,getter=isRefreshing)BOOLrefreshing;@property(null_resettable,nonatomic,strong)UIColor*tintColor;@property(null
- Android 优秀开源项目汇总
huch_shyh
Android收藏转载篇Android优秀开源项目
Android优秀开源项目汇总有那么多漂亮好用的轮子,总是忍不住好好地总结分类收藏一番。而收藏,当然是为了在可能需要的时候能够迅速果断地找到一个合适我们项目的轮子。分类二级分类框架名称简介Star数最近更新UI刷新SmartRefreshLayout智能下拉刷新框架[详细]12k1天UI刷新Android-PullToRefresh比较早的一款下拉刷新框架8.6k5年UI刷新android-Ult
- 【Android-Compose】Material3 新版下拉刷新 PullRefresh
许多仙
androidCompose下拉刷新PullRefreshMaterial3
这里写自定义目录标题1、`(新)`用于JetpackCompose的刷新指示器1.1SwipeRefresh迁移到新的PullRefresh1.2迁移步骤1.3自定义指示器2、原始文档(SwipeRefresh)的使用依赖导入2.1使用方法2.2完整示例(包括视图模型的实现)2.3无需轻扫即可显示刷新2.4指标2.5自定义指标翻译和简单修改,原文:https://google.github.io/
- 基于Vue的移动端UI框架整理
天马3798
Vuevue.js前端javascript移动端UI框架
一、Vant官方地址:https://youzan.github.io/vant/#/zh-CN/简介:有赞公司开发。特性:60+高质量组件、90%单元测试覆盖率、完善的中英文文档和示例、支持按需引入、支持主题定制、支持国际化、支持TS、支持SSR。特别说明:vant4版本支持Vue3支持下拉刷新支持触底加载更多使用推荐:推荐使用二、MintUI官方地址:http://mint-ui.github
- 有趣的CSS - css loading动画
设计师工作日常
有趣的csscss前端loadingcss动画
Loading动画整体效果核心代码html代码:css部分代码:完整代码如下html页面:css样式:页面渲染效果:整体效果这个Loading效果主要用css3的animation属性配合border属性来实现的。可以用作在下拉列表Loading,也可以用作app页面下拉刷新时使用。Lessismore,用最少的代码实现满意的效果。核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地
- Android Compose pullRefresh下拉刷新demo
Jocerly
composeandroidcompose
AndroidComposepullRefresh下拉刷新组件使用,可添加依赖包:implementation("androidx.compose.material:material")核心代码:/***下拉刷新*@paramonRefreshing下拉刷新时数据组装,可以请求接口*@paramshowContent显示数据*/@OptIn(ExperimentalMaterialApi::cla
- java.lang.NoSuchMethodError: No virtual method at(Ljava/lang/Object;I)Landroidx/compose/animation/co
Jocerly
composeandroidcompose闪退
使用androidx.compose.material:material中pullRefresh控件刷新列表,遇到的问题记录:下拉刷新后异步延时请求数据闪退:java.lang.NoSuchMethodError:Novirtualmethodat(Ljava/lang/Object;I)Landroidx/compose/animation/core/KeyframesSpec$Keyframe
- 【Compose】亲手封装一个简单灵活的下拉刷新上拉加载 Compose Layout
程序员小森
关注个人简介,技术不迷路Compose的下拉刷新有现成的Material库可以直接使用,非常简单方便。但是上拉加载目前没看到有封装的特别好的库,Paging有些场景无法满足,而且上拉加载也是个比较简单的功能,没必要再去依赖一个质量未知的库。我们可以基于目前的LazyList简单的封装一个灵活的组件。基本原则是仍然基于现有的PullRefresh以及LazyListAPI实现,不依赖三方库,使用简单
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1