创建ArrayList对象,添加5个元素,使用Iterator遍历输出
class="java" name="code">
import java.util.*;
public class Test1 {
public static void main(String[] args) {
// 定义一个String类型的集合
ArrayList<String> al = new ArrayList<String>();
// 集合内存储字符串
al.add("abcd");
al.add("dwoie");
al.add("dgkol");
al.add("dkgjd");
al.add("dkgo");
// 使用迭代器取出集合中的内容
Iterator<String> it = al.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
编写一个可以
获取文件扩展名的函数,形参接收一个
文件名字符串,返回一个扩展名字符串。
因为感觉题目意思不是太清楚,我在这里写了两个方法
public class Test5 {
public static void main(String[] args) {
//定义一个变量接收返回的新字符串
String str = getExtension("byteTest.txt");
//将新的字符串打印出来
System.out.println(str);
}
private static String getExtension(String str) {
//定义一个变量接收最后一个.在给定文件名字符串中的下标
int i = str.lastIndexOf(".");
//返回该下标后面的字符串就得到了该文件的扩展名
return str.substring(i + 1);
}
}
import java.io.File;
import java.io.IOException;
public class Test5New {
public static void main(String args[]) {
// 定义一个变量来接收返回的文件名的字符串
String str = getExtension("test5.java.txt");
System.out.println(str);
}
private static String getExtension(String str) {
// 根据给定的文件名字符串创建一个File实例
File f1 = new File(str);
// 判断该文件是否存在,如果该文件不存在,则创建一个新的文件
if (!f1.exists()) {
try {
f1.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
// 获取该文件的文件名字符串
String fname1 = f1.getName();
// 最后根据文件名字符串中最后一个.来找到该文件的扩展名,返回最后一个.后面的字符串即是该文件的扩展名
return (fname1 + "扩展名是:" + fname1
.substring(fname1.lastIndexOf(".") + 1));
}
}
编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)
public class Test6 {
public static void main(String[] args) {
caseConversion("adhvkoieDKLIVOJdkl%^&O");
}
private static void caseConversion(String str) {
// 将给定的字符串先转成字符数组
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
// 遍历数组取出每个字符与大写字母的Hash值相比较看是否为大写字母
if (ch[i] >= 65 && ch[i] <= 90) {
// 如果是小写字母,就将此字符的Hash值加上32,因为大写字母与其相对应的小写字母Hash相差32,
// 所以大写字母的Hash加上32后就变成了与其相对应的小写字母
ch[i] += 32;
// 同样遍历数组取出每个字符与小写字母的Hash值相比较看是否为小写字母
} else if (ch[i] >= 97 && ch[i] <= 122) {
// 如果是小写字母就将此字符的Hash值减去32,就能得到与其相对应的大写字母了
ch[i] -= 32;
}
}
// 最后将转换后的字符数据组转成字符串打印了来
System.out.println(new String(ch, 0, ch.length));
}
}
编写一个延迟加载的单例
设计模式
//定义一个Single类
class Single {
// 私有构造方法
private Single() {
}
// 创建引用型变量,但先不创建对象
private static Single s = null;
// 提供公共的静态方法返回对象的引用
public static Single getInstance() {
// 判断如果s为null,建立一个对象
if (s == null) {
s = new Single();
}
return s;
}
}
public class Test7 {
public static void main(String[] args) {
// 通过getInstance()方法返回Single类的对象的引用
Single s1 = Single.getInstance();
Single s2 = Single.getInstance();
System.out.println(s1);
System.out.println(s2);
}
}
写一个
正则表达式,可以匹配尾号5连的手机号。
规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。
public class Test9 {
public static void main(String[] args) {
regexTest("13800188888");
}
private static void regexTest(String num){
boolean b=false;
b=num.matches("1[3458]\\d{4}(0{5}|1{5}|2{5}|3{5}|4{5}|5{5}|6{5}|7{5}|8{5}|9{5})$");
System.out.println(b);
}
}
最后一题感觉用的方法挺笨的,不知道有没见有更简单点的方法