日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/7/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的java实现可有括号的android计算器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。