《day18_String练习_基本类型包装类_集合入门》
package cn.itcast.api.String.test; public class StringTest_1 { public static void main(String[] args) { String s1 = "asdfitcastghijfghjk";
String s2 = "xcitcastvbnm"; String maxSubStirng = getMaxSubstring(s2, s1);
System.out.println("maxSubString:" + maxSubStirng);
/*
* 作业1:获取两个字符串的最大相同子串。 "asdfitcastghijfghjk" "xcitcastvbnm"
*
* 思路: 1,先明确两个字符串的长短,在长串中判断短串是否存在。 2,存在,已找到,说明短串就是最大的相同。
* 不存在,就将短串按照长度递减的方式,获取短串中的子串,并到长串中判断。 3,一旦存在,便结束查找。
*/ } private static String getMaxSubstring(String s1, String s2) {
String max, min;
// 明确哪个是长串,哪个是短串。
max = (s1.length() > s2.length()) ? s1 : s2;
min = max.equals(s1) ? s2 : s1; // 验证max和min.
/*
* System.out.println("max:"+max); System.out.println("min:"+min);
*/ for (int i = 0; i < min.length(); i++) {
for (int start = 0, end = min.length() - i; end < min.length(); start++, end++) {
String temp = min.substring(start,end);
if(max.contains(temp)){
return temp;
}
}
}
return null;
} }
package cn.itcast.api.String.test; import java.util.Arrays; public class StringTest_2 { public static void main(String[] args) {
String str = "cfdasbv";
str = sortStringByChars(str);
System.out.println("str="+str); }
/*
*
* 作业2:对字符串中字符进行自然顺序排序。
* cfdasbv--->abcdfsv
*
* 思路:
* 1,排序都是对数组排序。
* 2,数组中的元素都是在字符串中,把字符串转成数组。
* 3,对数组排序。
* 4,将排序后的数组转成字符串。
*/ public static String sortStringByChars(String str) {
//1,将字符串转成数组。转成字符数组。
char[] chs = getArray(str);
//2,对数组排序。
sort(chs);
//3,将排序后的数组转成字符串。返回。
return new String(chs);
} private static void sort(char[] chs) {
Arrays.sort(chs); } /**
* 将字符串转成字符数组。
* @param str
* @return
*/
private static char[] getArray(String str) {
// TODO Auto-generated method stub
return str.toCharArray();
} }
package cn.itcast.api.String.test; public class StringTest_3 {
public static void main(String[] args){
String str = " it cast ";
// String s1 = str.trim();
String s1 = myTrim(str);
System.out.println("-"+s1+"-");
} /**
* 模拟trim功能。
*
*/
public static String myTrim(String str){ //定义两个变量,一个记录头,一个记录尾。
int start = 0;
int end =str.length()-1; //2,获取头部非空白的位置,
while(start<=end && str.charAt(start)==' '){
start++;
}
//2,获取尾部非空白的位置,
while(start<=end && str.charAt(end)==' '){
end--;
} //截取字符串。
return str.substring(start, end+1);
}
}
package cn.itcast.api.wrapper.demo; public class WrapperDemo { public static void main(String[] args) {
/*
* 场景:通过文本框获取用户输入的数字数据,可是得到的都是字符串。
* 如果想要对字符串中的数字进行运算,必须要将字符串转成数字。
* JAVA提供了相应的解决对象。
* 基本数据类型对象包装类:Java将基本数据类型值封装成对象。
* 封装成对象有什么好处?因为可以提供更多的操作基本数值的方法。
*
* byte Byte
* short Short
* int Integer
* long Long
* float Float
* double Double
* boolean Boolean
* char Character
*/ //学习一下整数Integer
/*
* 基本类型对象包装类特点:
* 1,用于在基本数据类型和字符串之间进行转换。
* int parseInt(String);
* byte parseByte(String);
* boolean parseBoolean(String);
*
* xxx parseXxx(String);
* 只有Character没哟解析方法。
*
*
*/ /*System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toBinaryString(-6));*/ //1,字符串--->基本数值。结果:基本数值(字符串)演示Integer int(String) System.out.println(Integer.parseInt("123")+2);//NumberFormaExctpioon
System.out.println(Integer.parseInt("2222", 10));//按照指定的进制进行转换。 //2,基本数值转成字符串。34+"" String.valueOf(34)Integer.toString(int);
System.out.println(34+5); //3,基本数值---》包装对象。
Integer i = new Integer(4);
Integer ii = Integer.valueOf("4"); //包装对象---》基本数据类型
int num = i.intValue();
System.out.println(num);
} }
package cn.itcast.api.wrapper.demo; public class WrapperDemo2 { public static void main(String[] args) { // int i = 4;
// Integer i = new Integer(4);
// JDK1.5以后,有了一个包装类的新特性。目的简化书写。自动装箱
Integer i = 4;//自动装箱。Integer.valueOf(4);
i = i+5;//原理是:等号右边将i对象转成基本数值。i.intValue()+5;加法运算后,在此装箱。
//i = Integer.valueOf(i.inValue()+5);
System.out.println(i); Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a==b);
System.out.println(a.equals(b)); System.out.println("===============");
Integer x = 127;
Integer y = 127;
System.out.println(x==y);
System.out.println(x.equals(y)); } }
//WrapperTest.java
package cn.itcast.api.wrapper.demo; import java.util.Arrays; public class WrapperTest { public static void main(String[] args) {
/*
* 练习:面试题:
* "23 9 -4 18 100 7";
* 要求对这串数字按照从大到小排序,生成一个数值有序的字符串。
*/
String numString = "23 9 -4 18 100 7";
numString = sortNumberString(numString);
System.out.println("nums="+numString); } public static String sortNumberString(String numString) {
//1一个字符串通过分割变成多个字符串。split();
String[] strs = numString.split(" "); //2,不能直接对字符串大小排序。因为字符串23比字符串9要小。必须转成整数值。
//将字符串数组转成int[] 数组。
int[] nums = parseIntArray(strs); //3,对数组排序。
Arrays.sort(nums); // 4,将数组转成字符串。
return toString(nums);
}
private static String toString(int[] nums) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < nums.length; i++) {
if(i!=nums.length-1){
sb.append(nums[i]+" ");
}else{
sb.append(nums[i]);
}
}
return sb.toString();
} //将字符串数组转成int[] 数组
public static int[] parseIntArray(String[] strs) {
//定义一个int数组。
int[] arr = new int[strs.length]; //2,遍历字符串数组。把元素转成int存储到int数组中。
for (int i = 0; i < strs.length; i++) {
arr[i] = Integer.parseInt(strs[i]);
}
return arr;
} }
《day18_String练习_基本类型包装类_集合入门》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- OpenCV_轮廓的查找、表达、绘制、特性及匹配
转摘网址为:http://www.cnblogs.com/slysky/archive/2011/10/14/2212227.html 虽然Canny之类的边缘检测算法可以根据像素间的差异检测出轮廓边 ...
- 微信公共平台php用$GLOBALS["HTTP_RAW_POST_DATA"]收不到信息解决方法
http://www.cnblogs.com/shendiao/archive/2013/04/24/3041450.html <?php /** * wechat php test */ // ...
- 主成分分析(PCA)原理及R语言实现
原理: 主成分分析 - stanford 主成分分析法 - 智库 主成分分析(Principal Component Analysis)原理 主成分分析及R语言案例 - 文库 主成分分析法的原理应用及 ...
- 吐槽下近期的4G手机:
吐槽下近期的4G手机: 1.iphone6和6p,分别是4.7和5.5吋屏,1810和2915毫安时不可拆卸电池,双核64位苹果A8处理器.电池容量太小,不经用,中度使用一天一充,而且不支持VOOC闪 ...
- IE9以上 CSS文件因Mime类型不匹配而被忽略 其他浏览器及IE8以下显示正常
什么是Mime类型? MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名 ...
- jQuery 请指出'.bind()','.live()'和'.delegate()'的区别
http://kb.cnblogs.com/page/94469/网上好多类似的 简言之bind可以绑定页面上已有的,live和delegate可以绑定到还未存在于页面中的元素之上.delegate又 ...
- (31)odoo中的时间
* 在model中 from datetime import datetime, timedelta import time from openerp.tools impor ...
- web自定义控件UserControl
今天做了两个自定义控件,之前用WPF也做过,但是感觉跟今天的不太一样.首先是在项目中建了一个UserContral的控件界面,把需要的控件拖到里面,再给按钮添加事件.我们公司的控件都是买的Dev Ex ...
- Study on Algorithm of Selecting Safe Landing Area on Ground During Asteroid Soft Landing (EEIC2013 +161)
OUATTARA Sie, RUAN Xiaogang, Yan yan Institute of Artificial Intelligence and Robots, School of Elec ...
- display和visibility的区别
一.display和visibility的相同与不同点 1.相同点:display和visibility都有讲元素隐藏的意思 2.不同点:display是元素隐藏,隐藏的元素不占文档流 而visibi ...