欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JAVA高级练习题.pdf

    • 资源ID:80688908       资源大小:685.33KB        全文页数:19页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA高级练习题.pdf

    JAVA 高级练习题 Prepared on 21 November 2021 1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。package zuoye;/*输出e的出现次数 */import java.util.Scanner;public class Test2 public static void main(String args)Scanner input=new Scanner(System.in);String str=input.next();int count=0;for(int i=0;i str.length();i+)if(str.charAt(i)=e)count+;System.out.println(e的出现次数是:+count);3、生成十个 0100 之间的随机数,放到数组中,然后排序输出。package zuoye;import java.util.Arrays;/*生成十个0100之间的随机数,放到数组中,然后排序输出 *author Administrator */public class Test3 public static void main(String args)int arr=new int10;/定义一个长度为10的int数组 for(int i=0;i s.lastIndexOf(.)System.out.println(邮箱地址中.出现在的前面);return false;for(int i=0;i=a&s.charAt(i)=A&s.charAt(i)=Z)else System.out.println(用户名里有其他字符);return false;return true;package youxiang;public class Test public static void main(String args)/TODO Auto-generated method stub if(MailTest.testMail()System.out.println(邮箱格式合法);else System.out.println(邮箱格式不合法);6、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。package zuoye;import java.util.Scanner;/*控制台输入一段字符串,再查询一段子字符串出现的次数 */public class Test6 public static void main(String args)Scanner input=new Scanner(System.in);String a=input.next();String b=input.next();int count=0;/计数器 for(int i=0;ia.length()-b.length();i=a.indexOf(b,i)+1)if(a.indexOf(b,i)!=-1)count+;System.out.println(count);集合类 1、请使用 LinkedList 来模拟一个队列(先进先出的特性):1)拥有放入对象的方法 void put(Object o)2)取出对象的方法 Object get()3)判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。public class Linkeds List l;Linkeds()l=new LinkedList();public void put(Object o)l.add(o);public Object get()Object o=l.get(0);l.remove(0);return o;public boolean isEmpty()if(l.isEmpty()return true;return false;public static void main(String args)/定义一个空队列 Linkeds l=new Linkeds();/往队列中放入对象 l.put(Tom1);l.put(John2);l.put(Mary3);/如果队列不为空,依次输出队列中的元素 while(!l.isEmpty()(l.get();2、假设顺序列表 ArrayList 中存储的元素是整型数字 15,遍历每个元素,将每个元素顺序输出。package zuoye;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test1 public static void main(String args)List list=new ArrayList();Number n1=new Number(1);Number n2=new Number(2);Number n3=new Number(3);Number n4=new Number(4);Number n5=new Number(5);list.add(n1);list.add(n2);list.add(n3);list.add(n4);list.add(n5);Iterator it=list.iterator();while(it.hasNext()(it.next();3、在一个列表中存储以下元素:apple,grape,banana,pear 1)返回集合中的最大的和最小的元素 2)将集合进行排序,并将排序后的结果打印在控制台上 package zuoye;public class Fruit private String fruit;public Fruit()public Fruit(String fruit)this.fruit=fruit;public String getFruit()return fruit;public void setFruit(String fruit)this.fruit=fruit;package zuoye;import java.util.Arrays;import java.util.Collections;import java.util.List;public class FruitTest public static void main(String args)List fruit=Arrays.asList(apple grade banana pear.split();(最大值是:+Collections.max(fruit);(最小值是:+Collections.min(fruit);4、编写一个程序,创建一个 HashMap 对象,用于存储银行储户的信息(其中储户的主要信息有储户的 ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。package zuoye;public class Bank private String id;private String name;private double money;public Bank()public Bank(String id,String name,double money)this.id=id;this.name=name;this.money=money;public String getId()return id;public void setId(String id)this.id=id;public String getName()return name;public void setName(String name)this.name=name;public double getMoney()return money;public void setMoney(double money)this.money=money;package zuoye;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class BankTest public static void main(String args)Map map=new HashMap();map.put(用户 1,new Bank(1,张三,Math.random()*100000);map.put(用户 2,new Bank(2,李四,Math.random()*100000);map.put(用户 3,new Bank(3,王五,Math.random()*100000);map.put(用户 4,new Bank(4,赵六,Math.random()*100000);Set keySet=map.keySet();Iterator it=keySet.iterator();double sum=0;while(it.hasNext()Object key=it.next();Bank a=map.get(key);(账户+a.getId()+的余额:+a.getMoney();/计算所有帐户的余额之和 sum+=a.getMoney();(所有账户余额:+sum);5、从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。package zuoye;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Test5 public static void main(String args)Scanner input=new Scanner(System.in);List list=new ArrayList();String str=input.nextLine();String arr=str.split();String tmp;for(int i=0;i arr.length;i+)for(int j=i+1;j 0)str=arrj;arrj=arrj+1;arrj+1=str;for(String a:arr)list.add(a);(a);IO 流 1、在本机的磁盘系统中,找一个文件夹,利用 File 类的提供方法,列出该文件夹中的所有文件的文件名和文件的路径,执行效果如下:-路径名:c:tempdef.txt package 作业;import;public class Test1 public static void main(String args)File file=new File(E:新建文件夹);String files=file.list();for(String o:files)System.out.println(文件名:+o);System.out.println(路径:+file.getAbsolutePath()+o);System.out.println(-);2、编写一个 java 程序实现文件复制功能,要求将 d:/io/copysrc.doc 中的内容复制到 d:/io/copydes.doc 中。package 作业;import;import;import;/*文件的拷贝 */public class Test2 public static void main(String args)File file=new File(fileabc.txt);File file_back=new File(fileabc_back.txt);try(FileInputStream fi=new FileInputStream(file);FileOutputStream fo=new FileOutputStream(file_back);)int b=-1;while(b=fi.read()!=-1)fo.write(b);catch(Exception e)e.printStackTrace();(拷贝成功!);3、创建 c:/test.txt 文件并在其中输入hello world 创建一个输入流读取该文件中的文本 并且把小写的 l 变成大写 L 再利用输出流写入到 d:test.txt 中 实现步骤:1.在本地硬盘 C 盘下创建一个文件 test.txt 2.创建一个包含 main()方法的类,并在 main 中编写代码 3运行代码并且测试结果 实现过滤器的功能 效果显示:package 作业;import;import;import;import;import;import;/*替换文件中的小写字母 l 为大写字母 L */public class Test3 public static void main(String args)FileReader f;String s=;BufferedReader br=null;try f=new FileReader(F:test.txt);br=new BufferedReader(f);s=br.readLine();(源文件+s);s=s.replace(l,L);catch(FileNotFoundException e)e.printStackTrace();catch(IOException e)e.printStackTrace();finally try br.close();catch(IOException e)e.printStackTrace();BufferedWriter bw=null;(s);try FileWriter fw=new FileWriter(F:test.txt);bw=new BufferedWriter(fw);bw.write(s);catch(IOException e)e.printStackTrace();finally try bw.close();catch(IOException e)e.printStackTrace();4、在程序中创建一个 Student 类型的对象,并把对象信息保存到d:/io/student.txt 文件中,然后再从文件中把 Student 对象的信息读出显示在控制台上,Student 类的描述如下:package 作业;import java.util.Date;public class Student private int id;private String name;private Date birth;public Student()super();public Student(int id,String name,Date birth)super();this.id=id;this.name=name;this.birth=birth;public int getId()return id;public void setId(int id)this.id=id;public String getName()return name;public void setName(String name)this.name=name;public Date getBirth()return birth;public void setBirth(Date birth)this.birth=birth;Override public String toString()return Student id=+id+,name=+name+,birth=+birth+;public class SerializationExercise public static void main(String args)Student s1=new Student(1,zhangsan,1999-11-11);try FileOutputStream fos=new FileOutputStream(d:iostudent.txt);ObjectOutputStream oos=new ObjectOutputStream(fos);(对象序列化.);oos.writeObject(s1);oos.flush();oos.close();catch(FileNotFoundException e1)(e1.getMessage();catch(IOException e2)(e2.getMessage();try FileInputStream fis=new FileInputStream(d:iostudent.txt);ObjectInputStream ois=new ObjectInputStream(fis);(反序列化.);Student ss1=(Student)ois.readObject();(ss1);ois.close();catch(FileNotFoundException e)(e.getMessage();catch(IOException e)(e.getMessage();catch(ClassNotFoundException e)(e.getMessage();多线程 1、利用 Thread 实现,要求多线程求解某范围素数每个线程负责 1000 范围:线程 1 找 1-1000;线程 2 找 1001-2000;线程 3 找 2001-3000。编程程序将每个线程找到的素数及时打印。package 找素数;public class Number private int num;public Number()super();public Number(int num)super();this.num=num;public int getNum()return num;public void setNum(int num)this.num=num;public synchronized void checkNum(int num)if(num=1000)for(int n=2;n=num;n+)boolean b=true;if(n!=1)for(int i=2;i n;i+)if(n%i=0)b=false;break;if(b)System.out.println(n+是质数);if(num=2000)for(int n=1001;n=num;n+)boolean b=true;if(n!=1)for(int i=2;i n;i+)if(n%i=0)b=false;break;if(b)System.out.println(n+是质数);if(num=3000)for(int n=2001;n=num;n+)boolean b=true;if(n!=1)for(int i=2;i n;i+)if(n%i=0)b=false;break;if(b)System.out.println(n+是质数);package 找素数;/public class Numbers1 implements Runnable public class Numbers1 extends Thread private Number num;public Numbers1(Number num)this.num=num;public void run()num.checkNum(1000);package 找素数;/public class Numbers1 implements Runnable public class Numbers2 extends Thread private Number num;public Numbers2(Number num)this.num=num;public void run()num.checkNum(2000);package 找素数;/public class Numbers1 implements Runnable public class Numbers3 extends Thread private Number num;public Numbers3(Number num)this.num=num;public void run()num.checkNum(3000);package 找素数;public class Test public static void main(String args)Number num=new Number();Numbers1 n1=new Numbers1(num);Thread t1=new Thread(n1);t1.setName(11000:);t1.start();Numbers2 n2=new Numbers2(num);Thread t2=new Thread(n2);t2.setName(10012000:);t2.start();Numbers3 n3=new Numbers3(num);Thread t3=new Thread(n3);t3.setName(20013000);t3.start();2、利用 Runnable 实现,要求多线程求解某范围素数每个线程负责 1000 范围:线程 1 找 1-1000;线程 2 找 1001-2000;线程 3 找 2001-3000。编程程序将每个线程找到的素数及时打印。与第一题相同,不再贴出代码,第一题注释即为修改处。3、编写一个 Java 程序(包括一个主程序类,一个线程类。在主程序类中创建 2个线程,将其中一个线程的优先级设为 10,另一个线程的优先级设为 6。让优先级为 10 的线程打印 200 次“线程 1 正在运行”,优先级为 6 的线程打印 200次“线程 2 正在运行”。package 优先级;public class Main private int num;public int getNum()return num;public void setNum(int num)this.num=num;public Main()super();public Main(int num)super();this.num=num;public void dayin(int num)for(int i=0;inum;i+)System.out.println(Thread.currentThread().getName()+正在运行);package 优先级;public class Xiancheng1 implements Runnable private Main num;public Xiancheng1()super();public Xiancheng1(Main num)this.num=num;Override public void run()num.dayin(200);package 优先级;public class Xiancheng2 implements Runnable private Main num;public Xiancheng2()super();public Xiancheng2(Main num)this.num=num;Override public void run()num.dayin(200);package 优先级;public class Test public static void main(String args)Main num=new Main();Xiancheng1 x1=new Xiancheng1(num);Thread t1=new Thread(x1);t1.setPriority(10);t1.setName(线程1);t1.start();Xiancheng2 x2=new Xiancheng2(num);Thread t2=new Thread(x2);t2.setPriority(6);t2.setName(线程2);t2.start();4、编写一个计时器,每隔一秒钟,在控制台打印出最新时间。package 计时器;import java.text.SimpleDateFormat;import java.util.Date;public class Main private Date date;public Main()super();/TODO Auto-generated constructor stub public Main(Date date)super();this.date=date;public Date getDate()return date;public void setDate(Date date)this.date=date;public void getDay()while(true)Date date=new Date();SimpleDateFormat num=new SimpleDateFormat(hh:mm:ss);String dateString=num.format(date);(Thread.currentThread().getName()+dateString);try Thread.sleep(1000);catch(InterruptedException e)e.printStackTrace();package 计时器;public class Clock implements Runnable private Main num;public Clock()super();public Clock(Main num)super();this.num=num;Override public void run()num.getDay();package 计时器;public class Test public static void main(String args)Main num=new Main();Clock c=new Clock(num);Thread t=new Thread(c);t.setName(当前时间为:);t.start();

    注意事项

    本文(JAVA高级练习题.pdf)为本站会员(l****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开