1.已知数组int[] arr = {1,54,3,87,108,77,56,35,20};(10)
* 设计一个工具类,完成以下功能:
* 1)计算出数组中所有的奇数和、偶数和
*  2)利用冒泡排序方式对数组进行排序(从大到小)

import java.util.Arrays;/*** 1.已知数组int[] arr = {1,54,3,87,108,77,56,35,20};(10)* 设计一个工具类,完成以下功能:* 1)计算出数组中所有的奇数和、偶数和*  2)利用冒泡排序方式对数组进行排序(从大到小)*/public class exam1one {public static void main(String[] args) {int[] arr = {1,54,3,87,108,77,56,35,20};SumUtil.Sum(arr);SumUtil.Sort(arr);}
}
//工具类
class SumUtil{public static void Sum(int[] arr){int jishuSum = 0;int oushuSum = 0;for (int i = 0; i < arr.length; i++) {if (arr[i]%2 == 0){oushuSum += arr[i];}else{jishuSum += arr[i];}}System.out.println("奇数和是:"+jishuSum+",偶数和是:"+oushuSum);}public static void Sort(int[] arr){for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr.length-i-1; j++) {if (arr[j] < arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}System.out.println(Arrays.toString(arr));}
}

2.小明去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?(10)

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;/*** 小明去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?(10)*/public class exam1two {public static void main(String[] args) {int ave = 0,sum = 0;System.out.println("请输入10个评委的打分:");Scanner scanner = new Scanner(System.in);List<Integer> list = new ArrayList<>();for (int i = 0; i < 10; i++) {list.add(scanner.nextInt());}Collections.sort(list);//做一个排序从小到大list.remove(0);//删除最小的list.remove(list.size()-1);//删除最大的list.forEach(s->System.out.print(s+"->"));for (int i = 0; i < list.size(); i++) {sum += list.get(i);ave = sum/list.size();}System.out.println("平均分为:"+ave);}
}

3.鸟类和昆虫类都具有飞行的功能,虽然这个功能相同,但是这两个类中其他功能不同,
* 所以将飞行功能单独设计在接口中,按如下设计编写程序。(10)
* 飞行接口:飞行的方法fly
*  鸟类(birds):属性 - 名称   功能 – 生蛋 layEgg
* 昆虫类(insecta):属性 – 姓名  功能 – 产卵 oviposition
* 鸽子(dove)继承自鸟类, 蜜蜂(bee)继承自昆虫类
*  在测试类中
* A.创建鸽子对象,实现飞行和生蛋的方法
* B.创建蜜蜂对象,实现飞行和生蛋的方法

public class exam1three {//测试public static void main(String[] args) {dove d = new dove();d.fly();d.layEgg();bee b = new bee();b.fly();b.oviposition();}
}
//鸽子类
class dove extends birds implements sky{@Overridepublic void fly() {System.out.println("我是鸽子,我会飞行");}@Overridepublic void layEgg() {System.out.println("我是鸽子,我会生蛋");}
}
//蜜蜂类
class bee extends insecta implements sky{@Overridepublic void fly() {System.out.println("我是蜜蜂,我会飞行");}@Overridepublic void oviposition() {System.out.println("我是蜜蜂,我会产卵");}
}
//飞行接口
interface sky{//飞行方法public void fly();
}/*** 鸟类* 抽象类*/
abstract class birds{private String name;//用abstract修饰抽象方法,只有声明,没有实现public abstract void layEgg();public birds(String name) {this.name = name;}public birds() {}
}/*** 昆虫类(抽象类)*/abstract class insecta{private String name;public abstract void oviposition();//public insecta(String name) {this.name = name;}public insecta() {}
}

4.设计一个程序,使用TreeSet集合存储Student类对象,
* Student类包含name、age、score三个属性,(10)
* 要求设计一个测试类,完成
* 增加学生
* 排序行为:对姓名进行升序排序,如果姓名一样,对年龄进行降序排序,如果年龄一样,对成绩进行升序排序。
* 【注】如果把一个对象添加到TreeSet集合,则该对象必须实现Comparable接口,否则程序会抛出ClassCastException异常。

import java.util.TreeSet;
public class exam1four {public static void main(String[] args) {TreeSet ts  = new TreeSet();ts.add(new Student("李冬",18,16));ts.add(new Student("李冬",16,98));ts.add(new Student("李冬",20,36));ts.add(new Student("李冬",20,80));ts.add(new Student("董康",16,100));for (Object o : ts){System.out.println(o.toString());}}
}
//Student类
class Student implements Comparable{//接口让学生具有比较性private String name;private int age;private int score;public Student() {}public Student(String name, int age, int score) {this.name = name;this.age = age;this.score = score;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +", score=" + score +'}';}//对姓名进行升序排序,如果姓名一样,对年龄进行降序排序,如果年龄一样,对成绩进行升序排序。//compareTo(Object o)在方法中实现对象大小的比较。当该方法被调用时,// obj1.compareTo(obj2),该方法返回值为1时,说明obj1>obj2;//                           返回值为0时,说明obj1=obj2;//                           返回值为-1时,说明obj1<obj2;@Overridepublic int compareTo(Object o) {if (!(o instanceof Student)){throw new RuntimeException("不是学生");}Student s = ((Student) o);if  (this.name.compareTo(s.name) == 0) {if (this.age == s.age){return this.score - s.score;}return s.age - this.age;}return -1;}
}

5.使用Scanner从控制台读取一个字符串,使用集合统计字符串中每个字符出现的次数,例如  abcabcdef(15)
* a(3)b(2)c(3)d(1)e(1)f(1)

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;/*** 使用Scanner从控制台读取一个字符串,使用集合统计字符串中每个字符出现的次数,例如  abcabcdef(15)* a(3)b(2)c(3)d(1)e(1)f(1)*/public class exam1five {public static void main(String[] args) {Map<String,Integer> map = new HashMap<>();System.out.println("请依次输入9个字符:");Scanner scanner = new Scanner(System.in);String[] str = new String[9];for (int i = 0; i < str.length; i++) {str[i] = scanner.next();}for (int i = 0; i < str.length; i++) {if (map.get(str[i]) == null){//get()返回指定键所映射的值,如果此映射不包含该键的映射关系,则返回nullmap.put(str[i],1);//put()将指定的值与此映射中的指定键关联。}else{map.put(str[i],map.get(str[i])+1);}}
//        map.forEach((key,value)->System.out.println(key+"("+value+")"));Set<String> keys = map.keySet();for (String k : keys){System.out.print(k+"("+map.get(k)+")");}}
}

6.(1)在D盘下创建一个文件为HelloWorld.tx文件,在程序中写一个(20)
* "HelloJavaWorld你好世界"输出到文件HelloWorld.txt文件中
* (2)在创建一个目录IOTest,之后将HelloWorld.txt移动到IOTest目录下去

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;/*** (1)在D盘下创建一个文件为HelloWorld.tx文件,在程序中写一个(20)* "HelloJavaWorld你好世界"输出到文件HelloWorld.txt文件中* (2)在创建一个目录IOTest,之后将HelloWorld.txt移动到IOTest目录下去*/public class exam1six {public static void main(String[] args) throws IOException {File file = new File("D://HelloWorld.txt");System.out.println("请输入要保存的内容:");int count,n = 512;byte[] b = new byte[n];FileOutputStream fos = null;count = System.in.read(b);fos = new FileOutputStream("D://HelloWorld.txt",true);fos.write(b,0,count);System.out.println("成功保存!");fos.close();File mkdir = new File("D://IOTest");mkdir.mkdirs();//创建一个目录,他的路径名由当前File对象指定,包括任一必须的父路径。file.renameTo(new File(mkdir.getPath() + "/" + file.getName()));//将当前File对象指定的文件更名为给定参数file指定的路径名。System.out.println("移动完毕!");}
}

7.1)将若干个Student对象;写出到d:/a.txt中,(15)
*   2)将该文件中所有的Student对象反序列化回来
* <详情见JAVA程序开发----IO流下>

import java.io.*;
public class exam1seven {public static void main(String[] args) throws IOException, ClassNotFoundException {Students stu1 = new Students(1,"李冬");Students stu2 = new Students(2,"李孟冬");Students stu3 = new Students(3,"冬李孟");Students stu4 = new Students(4,"李冬孟");FileOutputStream fos = new FileOutputStream("D://a.txt");//序列化ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(stu1);oos.writeObject(stu2);oos.writeObject(stu3);oos.writeObject(stu4);System.out.println("已写入!");FileInputStream fis = new FileInputStream("D://a.txt");//反序列化ObjectInputStream ois = new ObjectInputStream(fis);Students s1 = ((Students) ois.readObject());Students s2 = ((Students) ois.readObject());Students s3 = ((Students) ois.readObject());Students s4 = ((Students) ois.readObject());System.out.println(s1.getId()+"->"+s1.getName());System.out.println(s2.getId()+"->"+s2.getName());System.out.println(s3.getId()+"->"+s3.getName());System.out.println(s4.getId()+"->"+s4.getName());}
}class Students implements Serializable{private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Students() {}public Students(Integer id, String name) {this.id = id;this.name = name;}
}

8.定义一个线程A,输出1 ~ 10之间的整数,定义一个线程B,逆序输出1 ~ 10之间的整数(10)

public class exam1eight {public static void main(String[] args) {ThreadA t1 = new ThreadA();ThreadB t2 = new ThreadB();new Thread(t1,"线程A").start();new Thread(t2,"线程B").start();}
}class ThreadA implements Runnable{@Overridepublic synchronized void run() {for (int i = 1; i < 10; i++) {try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+"->"+i);}}
}
class ThreadB implements Runnable{@Overridepublic synchronized void run() {for (int i = 10; i > 0; i--) {try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+"->"+i);}}
}

JAVA程序设计----练习题相关推荐

  1. Java程序设计练习题7集合与泛型

    选择题 R1-1 分数 1 作者 强彦 单位 太原理工大学 制造(new)数组时,要指定数组长度,以便为数组分配内存. T F R1-2 分数 1 作者 翁恺 单位 浙江大学 Arrays in Ja ...

  2. java面向对象 程序设计题_java面向对象程序设计练习题

    java面向对象程序设计练习题 [练习题]01.类的成员变量 猜数字游戏 一个类 A 有一个成员变量 v有一个初值100.定义一个类 对 A 类的成员变量 v 进行猜.如果大了则提示大了 小 ...

  3. Java程序设计课程练习题(题目+答案)

    Java程序设计课程练习题(题目+答案) 0401 1.Description 编写一个Java程序,输入一个整数n(1 <= n <= 1000),如果n是奇数, 输出 1+3+5+.. ...

  4. 2019-2020-3 《Java 程序设计》第三周知识总结

    2019-2020-3 <Java 程序设计>第三周知识总结 1.类的定义 语法格式如下(加[]表示可选项): [修饰符] class 类名 { 属性定义(声明) 方法定义(声明)} 2. ...

  5. # 2019-2020.3 《java程序设计》第一周学习总结

    2019-2020-3 <Java 程序设计>第一周学习总结 在本周的学习中,学习到了好多也收获了好多,从最基础的安装虚拟机开始,根据老师的博客中的教程一步一步的进行,在这过程中也遇到了好 ...

  6. 学号 2016-2017-20155329《Java程序设计》课程总结

    学号 2016-2017-20155329<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:想象中的师生关系 预备作业2:C语言水平调查以及认为自己最强的一项技能和毕业 ...

  7. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155303 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一(新建文件夹): ...

  8. 20155314 2016-2017-2 《Java程序设计》第4周学习总结

    20155314 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 理解封装.继承.多态的关系 理解抽象类与接口的区别 掌握S.O.L.I.D原则 了解模式和设 ...

  9. java程序设计实用教程高飞pdf_普通高等教育“计算机类专业”规划教材:Java程序设计实用教程习题集 pdf epub mobi txt 下载...

    普通高等教育"计算机类专业"规划教材:Java程序设计实用教程习题集 pdf epub mobi txt 下载 图书介绍 ☆☆☆☆☆ 高飞,赵小敏,陆佳炜 等 著 下载链接在页面底 ...

最新文章

  1. R语言ggplot2可视化将X轴置于ggplot2图表顶部实战
  2. Linux块设备驱动(二)————块设备的体系架构
  3. Activity两个启动方法的区别
  4. Failed to connect to SDP server on FF:FF:FF:00:00:00: Connection refused问题解决方法
  5. java crud事件回调_java回调机制 - 神是到着念的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 使用UIWebView加载网页
  7. 王小云:连破两套美国顶级密码,获得711万奖励,美国不淡定了
  8. redhat7.3-samba服务器配置
  9. qtp(QuickTest Professional)的下载安装
  10. tomcat历史版本新特性_Tomcat介绍(三)完结,即将进入正文
  11. SC-FDE 系统 基于导频的细小偏估计
  12. 看柏林是如何进行轨道与常规公交规划的?
  13. SATA 3.2协议 Error handing机制
  14. Spring ioc 详解
  15. 2021年牛宝宝起名取名,惊艳有诗意的三字女孩名
  16. java happen-before_java 内存模型中的happen-before 是什么?
  17. pyinstaller打包exe文件的详细步骤及过程中遇到的问题
  18. [Opencv基础]人脸磨皮
  19. [转载] 七龙珠第一部——第041话 玛斯鲁塔的毁灭
  20. 电子工程软件android版,电子工程世界app下载-电子工程世界 安卓版v1.0-PC6安卓网...

热门文章

  1. HDU - 4253 Two Famous Companies(二分+最小生成树)
  2. UVA - 1533Moving Pegs移动小球 (bfs加状态压缩)
  3. EOJ_1057_排名汇总
  4. android代码获取应用名称,Android获取应用程序名称(ApplicationName)
  5. linux 本机发送邮件 smtp-server 553,Zabbix监控之邮件发送失败-smtp-server: 错误代码550与535...
  6. 实例演示使用HiBench对Hadoop集群进行基准测试
  7. HDU4259(简单群置换)
  8. Qt下Tcp传输文件
  9. 理查德·汉明和他的汉明码
  10. 如何给5岁孩子解释DCT?