![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java编程练习题
以编程练习为基础,打牢java学习的基本功
码云骑士
把握一个今天,胜似两个明天!
展开
-
java自定义异常类编程题
题目: 创建一个Person实体类,包含三个私有的属性:age、sex和name,并为这些属性设置get和set方法,应在set方法中验证参数的合法性在测试中根据用户输入的信息创建对象并初始化对象属性,如果用户输入的年龄不在1-120之间或者性别不是”男”或者”女”则抛出对应异常。将异常信息打印到控制台。代码实现如下:package cn.LianXi.reflect;import java.util.Scanner;public class reflectTest1 { public原创 2021-04-10 11:34:18 · 1966 阅读 · 0 评论 -
java反射经典编程题(3题)
题一: 给定实体类Person,使用反射给name属性、age属性赋值。代码实现如下:package cn.LianXi.reflect;import java.io.Serializable;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;public class reflectTest1 { public static void main(String[原创 2021-04-10 11:09:08 · 1794 阅读 · 1 评论 -
java IO流经典编程题(5题)
题一: 在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,在创建一个目录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目录下的文件代码实现如下:package cn.LianXi;import java.io.File;import java.io.IOException;public class IoTest { public static void main(String[] args) {原创 2021-04-08 20:33:50 · 2921 阅读 · 3 评论 -
java 二分查找(有序)
二分查找的首要条件: 能够进行二分查找的数组必须是有序的二分查找的优点: 比较次数少,查找速度快,平均性能好;二分查找的缺点: 要求待查数据结构为有序,且插入、删除困难,不适用于经常变动而查找频繁的有序数据结构。代码实现如下:package cn.LianXi;public class BiSearch { public static void main(String[] args) { int[] test={2,3,6,8,9,12,16,36,74};原创 2021-04-07 10:40:59 · 121 阅读 · 1 评论 -
java关于ArrayList编程实例
实例一:ArrayList案例题目: 现有如下字符串元素:[ “aaa”, “bbb”, “ggg”, “ccc”],请将所有的元素按顺序存入 ArrayList 集合中,并遍历集合查看存储结果。题目解决思路1.创建 ArrayList 集合对象,泛型声明为 String 类型。2.调用集合的 add 方法,将元素依次存入集合。3.通过print函数遍历集合,输出结果。代码实现:package cn.LianXi;import java.util.ArrayList;public cl原创 2021-04-06 19:09:30 · 1587 阅读 · 0 评论 -
java单元测试Junit4编程实例
测试代码如下:import org.junit.*;public class CalcutorTest { private Calcutor cal; @AfterClass //一定要在该方法加上static才行,只执行一次,在刚开始时执行 public static void afterClass(){ System.out.println("AfterClass"); } @Before //在每个方法前都执行 pu原创 2021-04-04 21:13:41 · 137 阅读 · 0 评论 -
java网络编程实例
创建服务端(MyService1),代码如下:package cn.lanqiao.wangluo;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class MyService1 { public static void main(String[] args) throws IOException { // ServiceSocket service = new原创 2021-04-03 22:24:18 · 174 阅读 · 1 评论 -
java多线程编程实例练习
练习一: 关于多线程的创建方式;读、写锁的操作;死锁等情况的练习,代码如下package cn.lanqiao.thread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLoc原创 2021-04-03 14:31:56 · 403 阅读 · 0 评论 -
java多线程关于VIP学员和普通学员练车问题实例
题目: 一个驾校每天只能给30位学员练车,其中vip学员有10人,普通学员有20人。开始时普通学员和vip学员并排叫号,要求如下:vip叫到的概率比普通学员的高;vip学员练车时间是普通学员练车时间的三倍;要求vip学员必须在普通学员之前练完车。代码实现过程如下://创建vipstudent对象class VIPStudent implements Runnable{ @Override public void run() { for(int i=1;i&l原创 2021-04-01 20:07:20 · 224 阅读 · 0 评论 -
java多线程编程实例
方式一: 通过Thread类来实现public class Mythread extends Thread{ @Override public void run() { for(int i=0;i<50;i++){ System.out.println(Thread.currentThread().getName()+":"+i); } } public static void main(String[] ar原创 2021-04-01 15:23:16 · 119 阅读 · 0 评论 -
java反射的应用
java反射机制:Java反射(Reflection)就是Java程序在运行时,可以加载、探知、使用编译期间完全未知的类。也就是说,Java程序可以加载一个运行时才得知类名的类,获得类的完整构造方法,并实例化出对象,给对象属性设定值或者调用对象的方法。这种在运行时动态获取类的信息以及动态调用对象的方法的功能称为Java的反射机制。本次练习为通过反射获取方法、获取属性、获取构造方法、创建对象、修改属性、调用方法、动态创建一二维数组等。实例代码如下:import java.io.FileNotFound原创 2021-04-01 11:24:33 · 138 阅读 · 0 评论 -
Java XML应用
运用一:<?xml version="1.0" encoding="UTF-8"?><students1> <!-- 书写方式一 --> <student> <sid>1</sid> <name>张山</name> <grade>20</grade> </student> <student> <sid>原创 2021-03-30 10:35:39 · 75 阅读 · 2 评论 -
java IO流实现对文件读、写练习
package cn.lanqiao.stream;import java.io.File;import java.io.FileFilter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.Output原创 2021-03-28 10:45:48 · 146 阅读 · 1 评论 -
java文件遍历
package cn.lanqiao.dir;import java.io.File;import java.io.FileFilter;public class Demo2 { public static void main(String[] args) { // 通过File对象拿某一目录下的资源; File file = new File("E:\\文档");// File[] files = file.listFiles();// for(File f :files)原创 2021-03-27 16:38:52 · 394 阅读 · 0 评论 -
java中栈、队列的使用
栈:栈作为一种数据结构,是只能从一端插入和删除操作的特殊列表。栈的基本操作如下:把数据元素压入栈——进栈。获取并删除栈顶数据元素——退栈。获取但不删除栈顶数据元素。判断栈是否为空。创建一个stack接口类,代码实现如下:public interface Stack { public void push(Object obj) throws Exception; public Object pop() throws Exception; public Object getTop(原创 2021-03-23 21:56:19 · 152 阅读 · 0 评论 -
java单例模式
单例模式: 即通过将构造方法私有化,使这个类的创建只能在类的内部完成,并且用一个共有的方法返回了这个类的实例。这样做可以保证这个类只有一个实例,不会出现其它类为这个类创建多个实例的情况。创建一个Student单例类,代码如下:public class Student { String stuName; static Student stu=new Student("王云"); private Student(String name) { this.stuName=nam原创 2021-03-21 21:05:52 · 83 阅读 · 0 评论 -
java冒泡排序和插入排序
冒泡排序:两个相邻元素之间两两进行比较,把大的元素放到后面。如有n个元素,第一次进行n-1轮比较。经过第一轮比较之后最大的数被放到最后,再进行第二轮(n-2)次比较,再把第二轮中最大的数放到最后,依次比对下去直到全部比对完成为止。代码实现如下:public static void main(String[] args) { int[] arr= {2,52,2645,73,46,87}; int[] newarr=bubbleSort(arr); System.out.pr原创 2021-03-18 16:03:25 · 97 阅读 · 0 评论 -
Java字符串编程练习
题目:键盘录入一个字符串,要求统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符) 。题目解决思路1.键盘录入一个字符串,用 Scanner 实现 。2.定义三个统计变量,初始值都为 03.遍历字符串,得到每一个字符。4.判断该字符属于哪种类型,然后对应类型的统计变量 自加1。5.打印输出这三种类型的字符个数 。代码实现过程:import java.util.Scanner;public class Text { public static void main原创 2021-03-15 15:44:26 · 280 阅读 · 2 评论 -
Java:定义类
题目请定义教师类(Teacher),属性包括姓名和工号,定义教课(teach)方法,最后输出:工号为 234234的 小明老师正在讲课。代码实现如下://-------测试类---------public class Text { public static void main(String[] args) { Teacher teach=new Teacher("小明", "234234"); teach.teaching(); } }//-------教师类---------原创 2021-03-14 21:48:00 · 446 阅读 · 0 评论 -
Java:方法重载
题目运用 Java 方法重载,分别定义形参列表 为不同 整数类型 的 方法。代码实现:public class Text { public static void main(String[] args) { text(1,3); text(1.0,3); text("10",3); } private static void text(int i, int j) { System.out.println("输出为"+i+" "+j); } private static v原创 2021-03-14 21:39:18 · 72 阅读 · 0 评论 -
Java:值传递
题目:请定义一个 方法,实现交换 整数 数组中两个索引上的元素值。例如,数组为 {11, 22, 33 ,92,98,78,37},交换索引 1 和索引 2 位置上的元素,并要求该调用的方法返回新的数组,运行结果为 { 11 33 22 92 98 78 37 }。代码实现结果如下:public class Text { public static void main(String[] args) { int[] arr=new int[] { 11, 22, 33 ,92,98,78,37}原创 2021-03-14 21:31:11 · 80 阅读 · 0 评论 -
Java:方法的值传递
题目:请定义一个方法,该方法可以实现对 int 类型的数组进行 遍历,在控制台打印所有元素。实现方法后,请在主方法中调用方法,查看结果。例如,数组为 { 11, 22, 33 ,92 },打印格式为:[ 11, 22, 33 ,92 ]。代码实现方式:public class Text { public static void main(String[] args) { int[] arr=new int[] { 11, 22, 33 ,92}; traversalArray(arr);原创 2021-03-14 20:59:47 · 94 阅读 · 0 评论 -
java数组拷贝
数组拷贝方式:System.arraycopy()System.arraycopy(src, srcPos, dest, destPos, length);该方法中: src:要拷贝的原数组名; srcPos:从原数组的哪个下标开始拷贝; dest:要拷贝到的新数组名; destPos:从新数组中的哪个位置开始拷贝; length:要拷贝的元素长度值。数组的基本数据类型拷贝实例代码如下:public class Text { public static void main(Strin原创 2021-03-13 16:40:08 · 129 阅读 · 1 评论 -
Java --评委打分
题目:在某个比赛中,有 6 个评委为参赛的选手打分,分数为 0-100 的 随机整数 分值。 选手的最后得分为:除去最高分和最低分后的 4 个评委分值的平均值 (考虑小数部分)。解题思路:1.定义一个 数组 用于存储评委打出的分数。2.定义一个 方法 为数组随机赋值 6 个分数。3.定义一个方法获取最终的总评。4.最终输出结果。代码实现部分:import java.util.Random;public class Text { public static void main(String原创 2021-03-13 15:22:00 · 942 阅读 · 0 评论 -
Java方法--数组元素反转
题目已知一个数组 arr = { 68,272,95,88,172,996,51,210} 用程序实现把该数组中的元素值交换, 交换后的数组 arr = { 68,272,95,88,172,996,51,210} ,并输出交换后的数组元素。代码实现:public class Text { public static void main(String[] args) { int [] arr=new int[] { 68,272,95,88,172,996,51,210}; reversal原创 2021-03-13 15:00:32 · 358 阅读 · 0 评论 -
Java方法--求数组索引
题目已知一个数组内元素为 { 68,272,95,88,172,996,51,210}。用户输入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值,如果没有查找到,则输出 -1。解题思路调用Scanner包定义数组,数组元素为: { 68,272,95,88,172,996,51,210} 提示用户输入一个数据定义一个方法接收一个数组和用户输入的数据,方法的返回值为查找的索引。调用该方法,若该数存在返回索引值,不存在返回 -1。关闭Scanner代码实现:原创 2021-03-13 14:47:24 · 858 阅读 · 0 评论 -
Java判断两个整型数组内容异同
题目:定义一个方法,用于比较两个整型数组的内容是否相同。此处的数组相同指的就是内容一模一样。代码实现过程如下:public class Text { public static void main(String[] args) { int [] arr=new int[] { 68,272,95,88,172,996,51,210}; int [] arr1=new int[] { 68,272,95,88,172,996,51,210}; boolean d=isSameArray(a原创 2021-03-13 11:27:52 · 640 阅读 · 0 评论 -
Java方法-----按条件求和
题目:定义一个数组,元素是 { 68,272,95,88,172,996,51,210 }。 要求:求和的数组元素个位和十位都不能是 7,并且不能是偶数,计算结果并输出。**代码过程实现如下:public class Text { public static void main(String[] args) { int [] arr=new int[] { 68,272,95,88,172,996,51,210}; int sum=0; for(int i原创 2021-03-13 11:12:39 · 441 阅读 · 0 评论