java实现可有括号的android计算器

写了一个android版的计算器,可以计算带括号的表达式,不过前提是:正确的表达式才行

小缺陷是没有做表达式括号的控制,现在还没有想到好的控制方式

 1 package javaAdvanced;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 /**
 7  * 类加载器学习
 8  *
 9  * @author cuiH
10  * Date: 13-12-6
11  */
12 public class ClassLoaderTest {
13     public static void main(String[] args) {
14         System.out.println(ClassLoaderTest.class.getClassLoader().getClass().getName());
15         /**
16          * result:sun.misc.Launcher$AppClassLoader
17          * AppClassLoader 加载的
18          */
19 
20 
21         System.out.println(System.class.getClassLoader());
22         /**
23          * result:null
24          * 加载器为null,说明是由bootstrap加载器进行加载的
25          */
26 
27 
28         ClassLoader loader = ClassLoaderTest.class.getClassLoader();
29         while (loader != null) {
30             System.out.println(loader.getClass().getName());
31             loader = loader.getParent();
32         }
33         System.out.println(loader);
34         /** http://www.cnblogs.com/sosoft/
35          * result:
36          * sun.misc.Launcher$AppClassLoader [加载classPath各种jar包下面类]
37          * sun.misc.Launcher$ExtClassLoader [加载 Ext下面的各种jar包]
38          * null(Bootstrap)[加载rt.jar]
39          * 说明三个类加载器的父子关系
40          */
41     }
42 
43     /**
44      * web项目中的一个类加载器的测试(Tomcat中servlet DoGet方法的加载器)
45      * org.apache.catalina.loader.WebappClassLoader
46      * org.apache.catalina.loader.StandardClassLoader
47      * sun.misc.Launcher$AppClassLoader
48      * sun.misc.Launcher$ExtClassLoader
49      *
50      * 两个apache 两个java
51      * 这个放到web项目下好用。
52      */
53     protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
54         response.setContentType("text/html");
55         PrintWriter out = response.getWriter();
56         ClassLoader loader = this.getClass().getClassLoader();
57         while (loader != null) {
58             out.println(loader.getClass().getName() + "</br>");
59             loader = loader.getParent();
60         }
61         out.close();
62     }
63 
64 }
65 
66 /**
67  * jvm默认三个类加载器 http://www.cnblogs.com/sosoft/
68  * 类加载器本质也是一个类
69  * java虚拟机第一个加载器是BootStrap,加载其他类加载器,然后加载类
70  *
71  * 默认的三个BootStrap ;AppClassLoader;ExtClassLoader
72  *
73  * 类加载器的委托方式:
74  * 加载方式:首先向上委托,,追寻到Bootstrap,上面有的话,直接加载,没有的话向下寻找。
75  * 因此自己写的System类无法被加载,因为找到最上面,就直接加载system类了
76  */
77 
78 
79 /**
80  * 编写字节的类加载器
81  * 模板方法的设计模式
82  *
83  * 父类里有loaderClass方法
84  *
85  * 子类1(自己的代码)
86  * 子类2(自己的代码)
87  *
88  * 子类1和子类2的流程一样,但是具体实现方法不一样。
89  * 因此,将实现流程的代码写在父类中,具体的实现代码由子类实现
90  * 例如JDK中,ClassLoader.loaderClass使用的就是模板方法
91  *
92  * ClassLoader.loaderClass方法包括三步流程:
93  * 一:findLoaderClass()检查是否加载
94  * 二:父类加载器中调用 loaderClass方法
95  * 三: findClass查找类。
96  *
97  * 因此:要想写一个自己的类加载器,只需要覆盖findClass便可以实现
98  */

 

转载于:https://www.cnblogs.com/sosoft/p/3462115.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十年之后,数字孪生将这样改变我们的工作与生活

来源&#xff1a;资本实验室数字孪生是近几年兴起的非常前沿的新技术&#xff0c;简单说就是利用物理模型&#xff0c;使用传感器获取数据的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;以反映相对应的实体的全生命周期过程。在未来&#xff0c;物理世界中的各种事物…

什么是图像

图像&#xff0c;尤其是数字图像的定义&#xff0c;在冈萨雷斯的书中是一个二维函数f(x,y),x,y是空间平面坐标&#xff0c;幅值f是图像在该点处的灰度或者强度。下面通过OpenCV中最常用的图像表示方法Mat来看一下在计算机中是怎么定义图像的。 Mat的定义 OpenCV在2.0之后改用…

dotNet中初始化器的使用

dotNet中初始化器的使用 2013年12月7日 13:27 有两类初始化器: 对象初始化器和集合初始化器 比如现在有一个User类&#xff1a; Public class User { public int id{get;set;} public string Name{get;set;} public int Age{get;set;} } 对象初始化器&#xff1a; Var u…

吴恩达作业6:梯度检验

梯度检验的目的就是看反向传播过程中的导数有没有较大的误差&#xff0c;首先看Jtheta*x的梯度检验&#xff1a;代码如下 import numpy as np """ Jx*theta的前向传播 """ def forward_propagation(x,theta):Jx*thetareturn J ""&quo…

10年后的计算机会是怎样的?

作者&#xff1a;孙鹏&#xff08;剑桥大学计算机系博士&#xff09;来源&#xff1a;新原理研究所上个世纪三十年代&#xff0c;邱奇和图灵共同提出了通用计算机的概念[1]。在接下来的十多年里&#xff0c;因为战争需要下的国家推动&#xff0c;计算机得以很快从理论发展成为实…

什么是图像变换

还是看OpenCV官方手册&#xff0c;我觉得这样可以同时学习如何使用函数和如何理解一些基本概念。 首先&#xff0c;这里的几何变换geometrical transformations是针对2D图像而言的&#xff0c;不改变图像内容而是将像素网格变形deform the pixel grid&#xff0c;映射到目标图…

MSRA20周年研究趋势文章|图像识别的未来:机遇与挑战并存

文/微软亚洲研究院 代季峰 林思德 郭百宁识别图像对人类来说是件极容易的事情&#xff0c;但是对机器而言&#xff0c;这也经历了漫长岁月。在计算机视觉领域&#xff0c;图像识别这几年的发展突飞猛进。例如&#xff0c;在 PASCAL VOC 物体检测基准测试中&#xff0c;检测器的…

吴恩达作业7:梯度下降优化算法

先说说BatchGD用整个训练样本进行训练得出损失值&#xff0c;SGD是只用一个训练样本训练就得出损失值&#xff0c;GD导致训练慢&#xff0c;SGD导致收敛到最小值不平滑&#xff0c;故引入Mini-batch GD&#xff0c;选取部分样本进行训练得出损失值&#xff0c; 普通梯度下降算…

电脑常用操作 (1)

远程桌面 1. 全屏切换&#xff1a;CtrlAltBreak 部分笔记本支持 FnBreak。 1. 发送CtrlAltDel&#xff1a; 方法(1). 打开远征电脑的输入法&#xff0c;点击使用“软键盘”&#xff0c;却发现没有Ctrl和Alt键。这时先按下本地键盘的Ctrl和Alt键&#xff0c;再点远程“软键盘”…

什么是单应矩阵和本质矩阵

知乎上面的大牛还是很多&#xff0c;直接搜Homography或者单应矩阵就能得到很多大神的回答&#xff0c;可能回答中的一句话或者一个链接就够自己学习很久。 其实在之前研究双目视觉的时候就接触了对极几何&#xff0c;通过视觉就可以得到物体的远近信息&#xff0c;这也是特斯…

tensorflow实现反卷积

先看ogrid用法 from numpy import ogrid,repeat,newaxis from skimage import io import numpy as np size3 x,yogrid[:size,:size]#第一部分产生多行一列 第二部分产生一行多列 print(x) print(y) 打印结果&#xff1a; newaxis用法&#xff1a; """ newaxis…

寿命能推算吗?加州大学科学家提出“预测方法”

来源&#xff1a;中国科学报从古至今&#xff0c;从国内到国外&#xff0c;从炼丹术到现代科学&#xff0c;长生不老似乎一直是人类乐此不疲的追求。但若要延缓衰老&#xff0c;首先要弄清是什么造成了衰老。近日&#xff0c;加州大学洛杉矶分校&#xff08;UCLA&#xff09;生…

Deep Image Homography Estimation

在知乎问题&#xff1a;深度学习应用在哪些领域让你觉得「我去&#xff0c;这也能行&#xff01;」&#xff1f;中遇到一篇提交在arXiv 2016&#xff08;arXiv不是正式发表&#xff0c;只是可以证明原创性&#xff0c;提供时间戳的网站&#xff09;的文章《Deep Image Homograp…

WCF 客户端连接慢

WCF客户端第一次连接超过1分钟&#xff0c;以后再连接就快了。 在 Config中加入 <basicHttpBinding> <binding name"BasicHttpBinding_IUpgrade" useDefaultWebProxy"false" /> </basicHttpBinding> 就好了。转载于:https://www.cnblo…

tensorflow:双线性插值反卷积

首先生成333的黑色图片 """ 生成333黑色图像 """ def produce_image():size 3x, y ogrid[:size, :size] # 第一部分产生多行一列 第二部分产生一行多列z x yz z[:, :, newaxis] # 增加第三维# print(z)img repeat(z, 3, 2)/12 # 在第三…

腾讯医疗AI新突破:提出器官神经网络,全自动辅助头颈放疗规划 | 论文

来源&#xff1a;量子位腾讯医疗AI实验室又有新研究。这次跟美国加州大学合作&#xff0c;在国际权威期刊《Medical Physics》发表最新研究成果&#xff1a;《器官神经网络&#xff1a;深度学习用于快速和全自动整体头颈危及器官靶区勾画》AnatomyNet: Deep Learning for Fast …

视频制作中的绿幕与拜耳阵列

先来欣赏一些大片背后的特效。 现在国内的电影市场越来越大&#xff0c;做短视频的自媒体也越来越多&#xff0c;在他们的后期视频制作的片花中可以看到很多都在使用绿幕或者蓝幕&#xff0c;这是为什么呢&#xff1f; 首先肯定是为了抠图的方便。将主体部分抠出再将通过特效…

吴恩达作业8:三层神经网络实现手势数字的识别(基于tensorflow)

数据集的载入&#xff0c;随机产生mini-batch放在tf_utils.py,代码如下 import h5py import numpy as np import tensorflow as tf import mathdef load_dataset():train_dataset h5py.File(datasets/train_signs.h5, "r")train_set_x_orig np.array(train_datase…

基于visual Studio2013解决面试题之0307最后谁剩下

&#xfeff;&#xfeff;&#xfeff;题目解决代码及点评/* n 个数字&#xff08;0,1,…,n-1&#xff09;形成一个圆圈&#xff0c;从数字 0 开始&#xff0c;每次从这个圆圈中删除第 m 个数字&#xff08;第一个为当前数字本身&#xff0c;第二个为当前数字的下一个数字&…

谷歌、苹果等大佬亲自戳穿自动驾驶完美童话,技术、场景、安全牢笼实难突围!...

来源&#xff1a; 物联网智库摘要&#xff1a;自动驾驶普及不仅局限于自身技术和应用场景&#xff0c;而且与产业链各环节密切相关。一项科技从诞生到被人们所接受是一个循序渐进的过程&#xff0c;自动驾驶真正普及还任重而道远。2018年11月1日百度世界大会上&#xff0c;百度…