Slide 1

Similar documents
JAVA String常用APi

Chapter 9: Objects and Classes

10_String

投影片 1

JAVA基礎程式設計班

untitled

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

JavaIO.PDF

3.1 num = 3 ch = 'C' 2

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

untitled

C/C++基礎程式設計班

Microsoft Word - 投影片ch12

第1章


1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

CC213

chp6.ppt

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

PowerPoint 簡報

Microsoft PowerPoint - chap10.ppt

C/C++基礎程式設計班

Microsoft Word - ch04三校.doc

基于CDIO一体化理念的课程教学大纲设计

Chapter 9: Objects and Classes

2013年度西藏自治区教育厅

實用文格式大全.doc

个 小 小 的 乡 下 人 木 匠 的 儿 子, 竟 然 有 这 么 大 的 力 量 其 实 就 是 这 点, 祂 活 出 来 的 那 种 爱, 是 世 界 上 没 有 的 祂 活 出 来 的 爱 是 世 界 上 的 人 都 需 要 的, 但 却 是 人 人 在 这 个 世 界 上 都 得 不 到

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

The Embedded computing platform

untitled

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

秘密大乘佛法(下)

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

Page 2 of 12

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

Microsoft Word - Sunday

鎶ョ焊0

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

電機工程系認可證照清單 /7/1

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

javaexample-02.pdf

投影片 1

untitled

資料結構之C語言重點複習

01


第一章

Excel VBA Excel Visual Basic for Application

Microsoft Word - 投影片ch14

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Microsoft Word - 投影片ch11

司 机 看 着 二 十 岁 左 右 的 女 孩 哭 花 了 一 张 脸, 看 看 雨, 又 看 看 她, 想 笑 小 姑 娘, 这 么 大 的 雨, 到 车 里 哭 也 可 以 的 他 好 心 地 建 议 明 靓 忍 不 住 翻 了 下 白 眼, 忿 忿 不 平 地 上 了 车 火 车 站, 唉,

Microsoft Word - 投影片ch03

untitled

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

EJB-Programming-3.PDF

Java 1 Java String Date

CC213

全国计算机技术与软件专业技术资格(水平)考试

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

untitled

上海浦~1

用户大会 论文集2.2.doc

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

Java 程式設計入門

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

1.5招募说明书(草案)

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

REPORT ID: SS-220D COMPILED BY: HONG KONG HOUSING SOCIETY 香港房屋協會 PROJECT:THS2018 HONG KONG HOUSING SOCIETY 香港房屋協會 T-HOME TRANSITIONAL RENTAL HOUSING S

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

untitled

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

一、

96年特種考試第一次司法人員考試試題解答

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

Microsoft PowerPoint - VB14.ppt

使用MapReduce读取XML文件

Java

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

Microsoft Word - AEL 序.doc

Microsoft PowerPoint - Class4.pptx

運算子多載 Operator Overloading

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

Microsoft Word - 第6章.doc

建立Android新專案

程式基礎之字串函數與處理篇 前言 無論是在現實世界或是網路世界, 文字都是我們溝通的方式之一 在資訊的世界裡面, 怎麼利用程式把文字照自己想要的方式呈現就是個很基本也很重要的技術 但我們可能會發現, 許多文字處理要做的事情都很類似 ( 例如把兩個字串接在一起, 或是照特定格式輸出 ), 因此在 C

Microsoft PowerPoint - Class5.pptx

EJB-Programming-4-cn.doc

ACI pdf

Java 大师之路

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

Transcription:

Java 程式設計入門 講師 : 陳昭源 CSIE, NTU August 3, 2005

Outline Character & String Exercise August 3, 2005 Page 2

Character & String 處理字元資料時,Java 有三個類別可供使用 Character: 處理單一字元 String: 處理內容不改變 (immutable) 的字串 StringBuffer: 處理內容可能會改變 (mutable) 的字串, 通常用來動態地產生字串 August 3, 2005 Page 3

Character & String Character 類別 一個 Character 物件儲存單一字元的值 constructor Character(char) methods compareto(charater) equals(object) tostring() charvalue() isuppercase(char) 相關用法及其他 methods 請查閱 J2SE 1.4.2 API August 3, 2005 Page 4

Characters & String String 類別 建立 String 物件 String xxx = ; String xxx; xxx = ; String xxx = new String( ); String xxx; xxx = new String( ); 連結字串 Joining 使用 + 運算子連結字串 例 :mystring = Hi! + How are you? ; 進行連結後的字串物件為全新的物件, 與原先之兩者不同 注意 :+ 運算子是由左向右運算 August 3, 2005 Page 5

Characters & String String methods int length(): 取得字串長度 ( 回傳所含字元總數 ) char charat(int index): 取得某個位置的字元 ( 注意 :index 從 0 開始 ) String substring(int startindex): 取得子字串, 從 startindex 之後的字串 String substring(int startindex, int endindex): 取得子字串, 從 startindex 至 endindex-1 的字串 字串長度 = endindex - startindex August 3, 2005 Page 6

Characters & String String methods(contd.) int compareto(string str): 比較字串 boolean equals(string str): 比較是否字串相等 intindexof(intch): 找尋字串中第一個出現 ch 字元的位置 String replace(char oldch, char newch): 取代所有字串中的 oldch 為 newch String[] split(string regex): 將字串以固定字串規則分開 char[] tochararray(): 將字串轉換成字元陣列 String trim(): 將字串前後的空白忽略, 並回傳新字串 String tolowercase(): 將字串內容轉小寫 String touppercase(): 將字串內容轉大寫 相關用法及其他 methods 請查閱 J2SE 1.4.2 API August 3, 2005 Page 7

Characters & String StringBuffer 建立 StringBuffer 物件 語法 :StringBuffer xxx = new StringBuffer(intCap) 一定得使用 new 呼叫建構元來建立物件, 並設定緩衝區 (buffer) 的容量 (capacity) 初始化時的 intcap 必須做適當的猜測, 要儘量減少記憶體分配的次數, 這會讓程式執行時較有效率 methods int length(): 取得字串長度 ( 回傳所含字元總數 ) int capacity(): 取得緩衝區容量 August 3, 2005 Page 8

Characters & String 修改 StringBuffer 物件 StringBuffer append( ) 增加字串 / 字元 / 至 StringBuffer 物件結尾 若增加後超過物件的容量, 則將自動在分配記憶體 分配記憶體將導致執行效率滑落, 故應儘量減少記憶體分配的動作 a reasonable first guess StringBuffer insert(intoffset, ) 插入字串 / 字元 / 至 StringBuffer 物件中 intoffset 必須介於 0 與 xxx.length() 之間 StringBuffer setcharat(intindex, charch) 將指定 intindex 位置的字元設定成 charch StringBuffer delete(intstartindex, intendindex) 刪除某特定範圍 (start to end-1) 的字元內容 StringBuffer deletecharat(intindex) 刪除 intindex 位置的字元 相關用法及其他 methods 請查閱 J2SE 1.4.2 API August 3, 2005 Page 9

Characters & String 將物件轉換成 String 物件 所有繼承自 Object 的類別, 都繼承了 tostring 方法, 且許多在 java.lang 套件中的類別以將此方法覆寫 (override), 以提供適當的應用 例 : 將 StringBuffer 物件轉換成 String 物件 String s = xxx.tostring(); // xxx 為 StringBuffer 物件 將基本型態變數轉換成 String 物件 String.valueOf( ) 例 :String.valueOf(intVal) 即 Integer.toString(intVal) 讀入字串 參閱 StringRead.java August 3, 2005 Page 10

Exercise 陣列資料處理 根據題目敘述, 將 MyArray 類別完成 (ArrayExercise.java) MyArray 類別含有以下 methods read_array(int data[], int len) 讀入並建立陣列資料 print_array(int data[], int len) 輸出陣列資料 min_array(int data[], int len) max_array(int data[], int len) sort_array(int data[], int len) 使用氣泡排序法將陣列資料由小至大排序 main() 的部分不需要更動, 僅須完成 MyArray 的功能 原始資料輸入, 內含 10 筆亂數整數, 以空白相隔 August 3, 2005 Page 11

Exercise 陣列資料處理 (contd.) final int NUM_DATA = 10; public static void main(string args[]) { int data[num_data]; MyArray.call_functions(READ_ARRAY, data, NUM_DATA); MyArray.call_functions(PRINT_ARRAY, data, NUM_DATA); System.out.println( MIN = + MyArray.call_functions(MIN_ARRAY, data, NUM_DATA) + \n ); System.out.println( MAX = + MyArray.call_functions(MAX_ARRAY, data, NUM_DATA) + \n ); MyArray.call_functions(SORT_ARRAY, data, NUM_DATA); MyArray.call_functions(PRINT_ARRAY, data, NUM_DATA); } 請自行定義 call_functions() 的內容 August 3, 2005 Page 12

Exercise 陣列資料處理 (contd.) 定義的常數, 用以決定該呼叫的 method final int PRINT_ARRAY = 0; final int MIN_ARRAY = 1; final int MAX_ARRAY = 2; final int SORT_ARRAY = 3; final int READ_ARRAY = 4; 例 : (Sample Input)5 2 6 8 1 2 7 3 9 10 5 2 6 8 1 2 7 3 9 10 MIN = 1 MAX = 10 1 2 2 3 5 6 7 8 9 10 August 3, 2005 Page 13

Exercise 氣泡排序法 (Bubble Sort) 比較相鄰的兩個值, 若前者大於後者, 則交換位置 例 : 7 2 3 8 5 9 4 2 7 3 8 5 9 4 2 3 7 8 5 9 4 2 3 7 5 8 9 4 2 3 7 5 8 9 4 2 3 7 5 8 4 9 以此類推, 不斷從頭循環至完成排列為止 每一循環皆可確定最大的數字在整列的最後方 August 3, 2005 Page 14

Exercise 字串接龍 當一個字串的開頭字母與另一字串的結尾字母相同, 則將兩字串頭尾相接 例 : cat tree catree 任意兩字串頭尾不會相同, 且字串頭尾字母也不同 ; 接龍結果唯一, 不會有多重結果 輸入資料, 第一行為字串總數, 接著一筆資料一行 例 :3 apple tree event appleventree August 3, 2005 Page 15