java编程思想第四版第十三章字符串 习题
- fas
- 第二题
package net.mindview.strings; import java.util.ArrayList; 
 import java.util.List; /**
 * 无限循环
 */
 public class InfiniteRecursion {
 public InfiniteRecursion(){ }
 @Override
 public String toString() {
 return " InfiniteRecursion address" + super.toString() + "\n";
 }
 public static void main(String[] args) {
 List<InfiniteRecursion> list = new ArrayList<InfiniteRecursion>();
 for(int i=; i<; i++){
 list.add(new InfiniteRecursion());
 }
 System.out.println(list);
 }
 }
- fa
- 第四题
package net.mindview.strings; import java.util.Formatter; public class Receipt {
 private double total = ;
 private Formatter f = new Formatter(System.out);
 public final int ITEM_WIDTH = ;
 public final int QTY_WIDTH = ;
 public final int PRICE_WIDTH = ;
 public final int PRICISION_FLOAT_WIDHT = ;
 public final int PRICISION_String_WIDHT = ;
 public final String TITLE_FORMAT = "%-" + ITEM_WIDTH + "s %" + QTY_WIDTH
 + "s %" + PRICE_WIDTH + "s\n";
 public final String PRICE_FORMAT = "%-" + ITEM_WIDTH + "."
 + PRICISION_String_WIDHT + "s %" + QTY_WIDTH + "d %" + PRICE_WIDTH
 + "." + PRICISION_FLOAT_WIDHT + "f\n";
 public final String TOTAL_FORMAT = "%-" + ITEM_WIDTH + "s %" + QTY_WIDTH
 + "s %" + PRICE_WIDTH + "." + PRICISION_FLOAT_WIDHT + "f\n"; //打印标题
 public void printTitle(){
 /*
 * 含义: 格式化字符串串以%开头
 * -: 表示左对齐
 * 15: 15表示宽度
 * s:表示数据的类型是String
 * .2f:表示浮点数保留的小数位数
 * .15s:表示字符串的长度最多15个字符
 */
 f.format(TITLE_FORMAT, "Item", "Qty", "Price");
 f.format(TITLE_FORMAT, "----", "---", "-----");
 } //正文的内容
 public void print(String name, int qty, double price){
 f.format(PRICE_FORMAT, name, qty, price);
 total += price;
 } //总价
 public void printTotal(){
 f.format(TOTAL_FORMAT, "Tax", "", total*0.06);
 f.format(TITLE_FORMAT, "", "", "-----");
 f.format(TOTAL_FORMAT, "Total", "", total*1.06);
 } public static void main(String[] args) {
 Receipt receipt = new Receipt();
 receipt.printTitle();
 receipt.print("Jack`s Magic Beans", , 4.25);
 receipt.print("Princess Peas", , 5.1);
 receipt.print("Three Bears Porridge", , 14.29);
 receipt.printTotal();
 } }运行结果: Item Qty Price 
 ---- --- -----
 Jack`s Magic Be 4.25
 Princess Peas 5.10
 Three Bears Por 14.29
 Tax 1.42
 -----
 Total 25.06
- 第五题
package net.mindview.strings; import java.util.Formatter; public class Receipt {
 private double total = ;
 private Formatter f = new Formatter(System.out);
 public final int ITEM_WIDTH = ;
 public final int QTY_WIDTH = ;
 public final int PRICE_WIDTH = ;
 public final int PRICISION_FLOAT_WIDHT = ;
 public final int PRICISION_String_WIDHT = ;
 public final String TITLE_FORMAT = "%-" + ITEM_WIDTH + "s %" + QTY_WIDTH
 + "s %" + PRICE_WIDTH + "s\n";
 public final String PRICE_FORMAT = "%-" + ITEM_WIDTH + "."
 + PRICISION_String_WIDHT + "s %" + QTY_WIDTH + "d %" + PRICE_WIDTH
 + "." + PRICISION_FLOAT_WIDHT + "f\n";
 public final String TOTAL_FORMAT = "%-" + ITEM_WIDTH + "s %" + QTY_WIDTH
 + "s %" + PRICE_WIDTH + "." + PRICISION_FLOAT_WIDHT + "f\n"; //打印标题
 public void printTitle(){
 /*
 * 含义: 格式化字符串串以%开头
 * -: 表示左对齐
 * 15: 15表示宽度
 * s:表示数据的类型是String
 * .2f:表示浮点数保留的小数位数
 * .15s:表示字符串的长度最多15个字符
 */
 f.format(TITLE_FORMAT, "Item", "Qty", "Price");
 f.format(TITLE_FORMAT, "----", "---", "-----");
 } //正文的内容
 public void print(String name, int qty, double price){
 f.format(PRICE_FORMAT, name, qty, price);
 total += price;
 } //总价
 public void printTotal(){
 f.format(TOTAL_FORMAT, "Tax", "", total*0.06);
 f.format(TITLE_FORMAT, "", "", "-----");
 f.format(TOTAL_FORMAT, "Total", "", total*1.06);
 } public static void main(String[] args) {
 Receipt receipt = new Receipt();
 receipt.printTitle();
 receipt.print("Jack`s Magic Beans", , 4.25);
 receipt.print("Princess Peas", , 5.1);
 receipt.print("Three Bears Porridge", , 14.29);
 receipt.printTotal();
 } }运行结果: Item Qty Price 
 ---- --- -----
 Jack`s Magic Be 4.25
 Princess Peas 5.10
 Three Bears Por 14.29
 Tax 1.42
 -----
 Total 25.06
- afd
- 第七题:
package net.mindview.strings.test7; public class Test7 { public static void main(String[] args) {
 //两种写法都可以
 String regex = "^[A-Z].*\\.$";
 String regex1 = "\\p{Upper}.*\\.$";
 String str = "D.";
 String str1 = "Dfasdfasfasfdasfdasfasfasdf.";
 String str2 = "Dfasdfasfasfdasfdasfasfasdf.E";
 System.out.println(str.matches(regex));
 System.out.println(str1.matches(regex));
 System.out.println(str2.matches(regex));
 System.out.println(str.matches(regex1));
 System.out.println(str1.matches(regex1));
 System.out.println(str2.matches(regex1));
 }
 }运行结果: true 
 true
 false
 true
 true
 false
- 第八题
package net.mindview.strings; import java.util.Arrays; public class Splitting { public static String knights = "Then, when you have found the shrubbery, you must cut down the mightiest tree in the forest... with... a herring!"; public static void split(String regex){
 System.out.println(Arrays.toString(knights.split(regex)));
 }
 public static void main(String[] args) {
 //表示的时按照空格分割字符串
 //运行结果:[Then,, when, you, have, found, the, shrubbery,, you, must, cut, down, the, mightiest, tree, in, the, forest..., with..., a, herring!]
 split(" "); //表示按照非单次字符分割字符串--这里的非单次字符是空格和,
 //运行结果:[Then, when, you, have, found, the, shrubbery, you, must, cut, down, the, mightiest, tree, in, the, forest, with, a, herring]
 split("\\W+");
 //这个表示:费单次字符之前带n的地方进行分割字符串 这里的分割符是n空格和n,
 //运行结果:[The, whe, you have found the shrubbery, you must cut dow, the mightiest tree i, the forest... with... a herring!]
 split("n\\W+");
 } }package net.mindview.strings.test8; import net.mindview.strings.Splitting; public class Test8 { public static void main(String[] args) {
 String regex = "the|you";
 Splitting.split(regex);
 }
 }
- 第九题
package net.mindview.strings.test9; import net.mindview.strings.Splitting; public class Test9 {
 public static void main(String[] args) {
 String regex = "A|E|I|O|U|a|e|i|o|u";
 //通过嵌入式标志表达式 (?i) 也可以启用不区分大小写的匹配。
 String regex1 = "(?i)a|e|i|o|u";
 //[abc] 表示a或b或c
 String regex2 = "(?i)[aeiou]";
 System.out.println(Splitting.knights.replaceAll(regex, "_"));
 System.out.println(Splitting.knights.replaceAll(regex1, "_"));
 System.out.println(Splitting.knights.replaceAll(regex2, "_"));
 }
 }
- 第十题
package net.mindview.strings.test10; import java.util.regex.Matcher; 
 import java.util.regex.Pattern; public class Test10 {
 public static void main(String[] args) {
 String str = "Java now has regular expressions"; for(String arg: args){
 Pattern p = Pattern.compile(arg);
 Matcher m = p.matcher(str);
 while(m.find()){
 System.out.println("Match \"" + m.group() +"\" at positions " + m.start() + "-" + (m.end()-) );
 }
 System.out.println("\n");
 } }
 }输入参数: ^Java 
 \Breg.*
 n.w\s+h(a|i)s
 s?
 s*
 s+
 s{}
 s{}.
 s{,}输出结果 Match "Java" at positions - Match "now has" at positions - Match "" at positions -- 
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "s" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "s" at positions -
 Match "s" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "s" at positions -
 Match "" at positions - Match "s" at positions -
 Match "ss" at positions -
 Match "s" at positions - Match "s " at positions -
 Match "ss" at positions - Match "" at positions --
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "s" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "ss" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "" at positions -
 Match "s" at positions -
 Match "" at positions -
- 第十一题
package net.mindview.strings.test11; import java.util.regex.Matcher; 
 import java.util.regex.Pattern; public class Test11 {
 public static void main(String[] args) {
 Pattern p = Pattern.compile("(?i)((^[aeiou])|(\\s+[aeiou]))\\w+?[aeiou]\\b");
 Matcher m = p.matcher("Arline ate eight apples and " +
 "one orange while Anita hadn't any"); while(m.find()){
 System.out.println("Match \"" + m.group() +
 "\" at positions " + m.start() + "-" +
 (m.end() - ));
 }
 }
 }运行结果: Match "Arline" at positions - 
 Match " ate" at positions -
 Match " one" at positions -
 Match " orange" at positions -
 Match " Anita" at positions -
- sfa
- f
- a
- fda
- sdf
- af
- a
- fd
- af
- as
- fd
- asfd
- af
- da
- f
- df
- as
- fa
- sf
- asf
- a
- sf
- af
- asf
java编程思想第四版第十三章字符串 习题的更多相关文章
- java编程思想第四版第十三章字符串  总结
		1. String和StringBulider的使用 通过书中介绍, 我们得知如下结论: 当使用+连接符将字符串进行拼接的时候, 编译器会进行自动优化为使用StringBuilder连接字符串. 当在 ... 
- java编程思想第四版第三章要点习题
		使用"简短的" 和正常的 打印语句来编写一个程序 package net.mindview.util; public class Print { /** * 不带有回车 * @pa ... 
- java编程思想第四版第十一章习题
		第一题 package net.mindview.holding.test1; import java.util.ArrayList; import java.util.List; /** * 沙鼠 ... 
- Java编程思想第四版*第七章*个人练习
		欢迎加群:239063848 成团的笔记:该组仅用于技术共享和交流,问题和答案公布 潘基聊天.禁止广告.禁止招聘-- 练习1:(2)创建一个简单的类.第二个类中,将一个引用定义为第一个类的对象.运用惰 ... 
- java编程思想第四版第六章习题
		(略) (略) 创建两个包:debug和debugoff,他们都包含一个相同的类,该类有一个debug()方法,第一个版本显示发送给控制台的String参数,而第二版本什么也不做,使用静态import ... 
- java编程思想第四版第六章总结
		1. 代码重构 为什么f要代码重构 第一次代码不一定是完美的, 总会发现更优雅的写法. 代码重构需要考虑的问题 类库的修改不会破坏客户端程序员的代码. 源程序方便扩展和优化 2. 包 创建一个独一无二 ... 
- java编程思想第四版第五章习题
		创建一个类, 它包含一个未初始化的String引用.验证该引用被Java初始化成了null package net.mindview.initialization; public class Test ... 
- java编程思想 第四版 第六章 个人练习
		欢迎加群:239063848 进群须知:本群仅用于技术分享与交流.问题公布与解答 禁止闲聊.非诚勿扰 练习1:(1)在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例. import mi ... 
- java编程思想第四版第十一章总结
		1. 容器类被分为两类:Collection和Map Collection是一个接口:包括: List接口: ArrayList:按照被插入顺序保存元素, 查询快, 增删改慢 LinkedList:按 ... 
随机推荐
- 内网渗透bypassuac和smb溢出
			对内网渗透需要渗透的目标主机处于跨网段和uac限制的情况做一个渗透记录 环境大致如下 拥有shell权限的win7(有uac限制,处于双网段) 和同win7同一网段下暂时无权限的靶机xp 先对有权限的 ... 
- Kali Linux开启ssh服务设置自启
			几天没写 水一些今天遇到的问题 0x01 配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 将#PasswordAuthentication ... 
- 8.Linux用户管理(上)
			1.什么是用户? 能正常登陆系统的都算用户 windows系统和linux系统的用户有什么区别? 本质上没有区别, linux支持多个用户同一时刻登陆系统, 互相之间不影响 而windows只允许同一 ... 
- 在已有 Windows10 系统的基础上,安装 Ubuntu17.10 系统(新版 BIOS)
			1.第一步,下载Ubuntu系统镜像 2.第二步,制作启动U盘,使用UltralSO,步骤:打开文件——选择iso文件——启动——写入硬盘映像——选择U盘——写入 3.第三步,分区,在Windows徽 ... 
- Linux下zkui的安装
			前提:部署好java环境 1.拉取安装包 git clone https://github.com/DeemOpen/zkui.git 2.进入zkui目录 cd zkui/ 3.使用mvn命令进行编 ... 
- linux下shell脚本启动jar包
			本文采用的jar包是通过idea下maven打包的springboot项目. 写这个shell脚本是为了在linux下方便启动jar包时不用输入太多的shell命令,将启动脚本的一系列shell命令整 ... 
- 百度地图Javascript API 调用示例
			调用示例 !<!DOCTYPE html> <html> <head> <title>百度地图DEMO</title> </head& ... 
- vue项目如何在node启动
			首先将vue项目通过命令npm run build 打包,然后创建start.js,代码如下: // const userApi = require('./api'); const fs = requ ... 
- Linux 命令之 crontab
			crontab 简介 crontab 主要用于需要管理周期执行定时任务的场景 crontab 安装 (有些系统默认已经带了 crontab,无需安装的朋友可以直接跳过本节) 安装: yum insta ... 
- 重磅!微软发布 Visual Studio Online:Web 版 VS Code + 云开发环境
			北京时间 2019 年 11 月 4 日,在 Microsoft Ignite 2019 大会上,微软正式发布了 Visual Studio Online (VS Online)公开预览版! 如今发布 ... 
