JAVA高级练习题.docx
《JAVA高级练习题.docx》由会员分享,可在线阅读,更多相关《JAVA高级练习题.docx(28页珍藏版)》请在冰豆网上搜索。
JAVA高级练习题
JAVA高级练习题
LT
importjava.util.Date;
publicclassTest4{
publicvoidgetTime(inty,intm,intd,inth,intmi,ints){
//获取Calendar实例
Calendartime=Calendar.getInstance();
//设置巴黎时间
time.set(y,m,d,h-7,mi,s);
//输出巴黎时间
System.out.println("巴黎时间是"+time.get(Calendar.YEAR)+"年"+
((time.get(Calendar.MONTH)))+"月"+
time.get(Calendar.DAY_OF_MONTH)+"日"+
time.get(Calendar.HOUR_OF_DAY)+"时"+
time.get(Calendar.MINUTE)+"分"+
time.get(Calendar.SECOND)+"秒");
//设置纽约时间
time.set(y,m,d,h-12,mi);
//输出纽约时间
System.out.println("纽约时间是"+time.get(Calendar.YEAR)+"年"+
((time.get(Calendar.MONTH)))+"月"+
time.get(Calendar.DAY_OF_MONTH)+"日"+
time.get(Calendar.HOUR_OF_DAY)+"时"+
time.get(Calendar.MINUTE)+"分"+
time.get(Calendar.SECOND)+"秒");
}
publicstaticvoidmain(String[]args){
Test4time=newTest4();
//设置北京时间
time.getTime(2018,3,15,16,53,9);
}
}
5、解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名
如果邮箱地址不合法则显示不合法的原因
提示:
邮箱地址不合法的因素:
1)邮箱地址中不包含@或。
2)邮箱地址中含有多了@或。
3)邮箱地址中。
出现在@的前面
4)用户名里有其他字符
实现步骤:
(1)创建一个类,类名:
mailtest
类图如下:
(类名和方法名必须与要求一样。
区分大小写)
packageyouxiang;
importjava.util.Scanner;
publicclassMailTest{
publicstaticbooleantestMail(){
Scannerinput=newScanner(System.in);
Strings=input.next();
if(s.indexOf("@")==-1||s.indexOf(".")==-1)
{
System.out.println("邮箱地址中不包含@或.");
returnfalse;
}
if(s.indexOf("@")!
=s.lastIndexOf("@")||s.indexOf(".")!
=s.lastIndexOf("."))
{
System.out.println("邮箱地址中含有多余的@或.");
returnfalse;
}
if(s.indexOf("@")>s.lastIndexOf("."))
{
System.out.println("邮箱地址中.出现在@的前面");
returnfalse;
}
for(inti=0;i{
if((s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z'))
{
}else
{
System.out.println("用户名里有其他字符");
returnfalse;
}
}
returntrue;
}
}
packageyouxiang;
publicclassTest{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
if(MailTest.testMail()){
System.out.println("邮箱格式合法");
}else{
System.out.println("邮箱格式不合法");
}
}
}
6、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。
packagezuoye;
importjava.util.Scanner;
/**
*控制台输入一段字符串,再查询一段子字符串出现的次数
*
*/
publicclassTest6{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
Stringa=input.next();
Stringb=input.next();
intcount=0;//计数器
for(inti=0;i{
if(a.indexOf(b,i)!
=-1)
{
count++;
}
}
System.out.println(count);
}
}
集合类
1、请使用LinkedList来模拟一个队列(先进先出的特性):
1)拥有放入对象的方法voidput(Objecto)
2)取出对象的方法Objectget()
3)判断队列当中是否为空的方法booleanisEmpty();并且,编写测试代码,验证你的队列是否正确。
publicclassLinkeds{
Listl;
Linkeds(){
l=newLinkedList();
}
publicvoidput(Objecto){
l.add(o);
}
publicObjectget(){
Objecto=l.get(0);
l.remove(0);
returno;
}
publicbooleanisEmpty(){
if(l.isEmpty()){
returntrue;
}
returnfalse;
}
publicstaticvoidmain(String[]args){
//定义一个空队列
Linkedsl=newLinkeds();
//往队列中放入对象
l.put("Tom1");
l.put("John2");
l.put("Mary3");
//如果队列不为空,依次输出队列中的元素
while(!
l.isEmpty()){
System.out.println(l.get());
}
}
}
2、假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。
packagezuoye;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassTest1{
publicstaticvoidmain(String[]args){
Listlist=newArrayList<>();
Numbern1=newNumber
(1);
Numbern2=newNumber
(2);
Numbern3=newNumber(3);
Numbern4=newNumber(4);
Numbern5=newNumber(5);
list.add(n1);
list.add(n2);
list.add(n3);
list.add(n4);
list.add(n5);
Iteratorit=list.iterator();
while(it.hasNext())
{
System.out.print(it.next());
}
}
}
3、在一个列表中存储以下元素:
apple,grape,banana,pear
1)返回集合中的最大的和最小的元素
2)将集合进行排序,并将排序后的结果打印在控制台上
packagezuoye;
publicclassFruit{
privateStringfruit;
publicFruit()
{
}
publicFruit(Stringfruit)
{
this.fruit=fruit;
}
publicStringgetFruit(){
returnfruit;
}
publicvoidsetFruit(Stringfruit){
this.fruit=fruit;
}
}
packagezuoye;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
publicclassFruitTest{
publicstaticvoidmain(String[]args){
Listfruit=Arrays.asList("applegradebananapear".split(""));
System.out.println("最大值是:
"+Collections.max(fruit));
System.out.println("最小值是:
"+Collections.min(fruit));
}
}
4、编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。
另外,计算并显示其中某个储户的当前余额。
packagezuoye;
publicclassBank{
privateStringid;
privateStringname;
privatedoublemoney;
publicBank()
{
}
publicBank(Stringid,Stringname,doublemoney)
{
this.id=id;
this.name=name;
this.money=money;