首页 文章 精选 留言 我的

精选列表

搜索[天气应用],共10000篇文章
优秀的个人博客,低调大师

递归算法介绍及Java应用实战

image 什么是递归算法 递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。 递归过程一般通过函数或子过程来实现。递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法。递归其实就是在栈内存中不断的加载同一个函数 什么时候用递归呢? 当一个功能被重复使用,而每一次使用该功能时的参数不确定,都由上次的功能元素结果来确定。 递归的注意事项 必须有可最终达到的终止条件,否则程序将陷入无穷循环出现栈内存溢出错误(StackOverflowError); 子问题在规模上比原问题小,或更接近终止条件; 子问题可通过再次递归调用求解或因满足终止条件而直接求解; 子问题的解应能组合为整个问题的解。 递归实战 下面用递归来实现从1+2+3+...N的小例子。 public static void main(String[] args) { System.out.println(sum(10)); } private static int sum(int n) { if (n == 1) { return n; } else { return n + sum(n - 1); } } 上面的例子采用递归算法从1加到10,看着是倒着来的从10加到1,每次减1进行相加真到最后为1终止。 推荐阅读 干货:Spring Boot & Cloud 最强技术教程 工具:推荐一款在线创作流程图、思维导图软件 分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。 image

优秀的个人博客,低调大师

Android应用程序的语言切换

最近项目中用用到语言切换功能,第一想到的就是资源文件,没错。 在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容Copy至values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如<string name="set">设置</string>转换为<string name="set">set</string> 然后再主Activity中写一个方法 代码: public void switchLanguage(Locale locale){ Configuration config = getResources().getConfiguration();// 获得设置对象 Resources resources = getResources();// 获得res资源对象 DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。 config.locale = locale; // 简体中文 resources.updateConfiguration(config, dm); } 必须在OnCreate函数中调用 还得注意的是:在AndroidManifest.xml中要配置一下 在activity节点中加上这个属性:android:configChanges="locale" 添加权限:<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 本文转自java豆子博客园博客,原文链接:http://www.cnblogs.com/error404/archive/2013/04/09/3010514.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android:GridView类似桌面显示所有应用

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 public class MainActivity extends Activity { private List<ResolveInfo> mApps = null ; private ArrayList<HashMap<String, Object>> data = null ; private HashMap<String, Object> hashMap = null ; class ViewHolder { ImageView viewImg; TextView viewName; } @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); loadapp(); setContentView(R.layout.activity_main); GridView gridView = (GridView) findViewById(R.id.gridView1); BaseAdapter adapter = new BaseAdapter() { @Override public View getView( int position, View convertView, ViewGroup parent) { LinearLayout layout; ViewHolder holder = new ViewHolder(); if (convertView == null ) { LayoutInflater inflater = getLayoutInflater(); layout = (LinearLayout) inflater.inflate(R.layout.linelayout, null ); holder.viewImg = (ImageView) layout.findViewById(R.id.imageView1); holder.viewName = (TextView) layout.findViewById(R.id.textView1); layout.setTag(holder); } else { layout = (LinearLayout) convertView; holder = (ViewHolder) layout.getTag(); } ResolveInfo info = mApps.get(position); holder.viewImg.setImageDrawable(info.activityInfo.loadIcon(getPackageManager())); holder.viewName.setText(info.activityInfo.loadLabel(getPackageManager()).toString()); return layout; } @Override public long getItemId( int position) { return position; } @Override public Object getItem( int position) { return mApps.get(position); } @Override public int getCount() { return mApps.size(); } }; gridView.setAdapter(adapter); } private void loadapp() { Intent intent = new Intent(Intent.ACTION_MAIN, null ); intent.addCategory(Intent.CATEGORY_LAUNCHER); mApps = getPackageManager().queryIntentActivities(intent, 0 ); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true ; } } 本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1218512,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册