基础测试题

创建ArrayList对象,添加5个元素,使用Iterator遍历输出


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);
}
}

最后一题感觉用的方法挺笨的,不知道有没见有更简单点的方法
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值