
java基础学习及编程
以Java实战案列介绍算法程序编写,同时介绍一些关于小项目的实战,提高编程能力。
秋刀鱼程序编程
目前从事Qt软件、DSP开发、算法、机器学习研究,主要的算法研究有差分进化算法、遗传算法、神经网络,会c、c++、Qt、matlab,python,java,有需要的编程问题咨询的私信或者加我qq:974268591!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用java模拟记录软件免费试用次数
/判断剩余的次数 if(times>0) { //每执行一次表示使用一次,次数就会减少一次 System.out.println(“您还可以试用:”+times+“次!在前面几节介绍的I/O流之中,他们都有一个共同的特点就是对读取设备数据只能按照数据的先后顺序来,但是在实际的开发过程是想对文件进行随意的操作,但是字节流与字符流都不能操作。因此,I/O流提供了RandomAccessFile这个类,它不属于流,但是具有读写数据的功能,可以随机从文件的任何位置开始执行读写数据的操作!原创 2024-11-25 23:15:11 · 405 阅读 · 0 评论 -
JAVA实现二分法查找算法
现在来一个小测验,在以数组中找到8所在的位置,很明显大家可以通过直观的感受就可以找到8处于位置3上。现在换一组数据,,总共有3000个元素,要求找到3这个元素处在的位置,可见从只管感受上不能选择出来。那么有没有更好的办法解决这个问题呢?1. 设置查找区间:low = 0;high= n(n是查找数组的长度);2. 若查找区间[low, high]不存在,则查找失败;否则转步骤33. 取中间位m= (low + high) / 2;原创 2023-08-06 20:42:38 · 350 阅读 · 1 评论 -
JAVA(python):冒泡排序算法原理及其实现
显示生活中经常会遇到将一组数进行排序,并且按从小到大或者从大到小。如果给出一组是个元素的数,让大家排序,肯定花费一点时间就能够完成。但是,如果一组数有100个、1000个,还能快速的排出来吗?因此,这里介绍一种快速排序算法冒泡排序算法,它与选择排序算法比较相似,只是排序的方式不一样。下面我们介绍冒泡排序算法的原理及步骤。原创 2023-02-21 00:07:39 · 616 阅读 · 0 评论 -
java设计差分进化(DE)算法解决多元函数的最优化问题
怎样运用差分演化算法解决多元函数的最优值问题?根本在于找到最优的n维个体的最优解,将其带入到建立好的适应度函数值当中就可以求解到多元函数的最优值,关键问题在于最优值的保存,在算法的设计过程之中。下面提供了DE解决超椭球体函数f(x)=sum(x(i)*2^i),其中i等于0—Np;这里Np是种群个体数。以java程序为例!import java.util.Random;/*************************** 改进差分算法 初始化 变异 交叉 选择 需求1:利用差分原创 2021-01-22 17:32:08 · 775 阅读 · 0 评论 -
JAVA:选择排序算法及其编写
选择排序算法是一种比较经典的排序算法,与其类似的冒泡排序算法的思想有点不同,它采用的是选择第一个和后n-1个进行比较,将最小的排在第一个位置,后面的依此方式进行。原创 2023-02-19 23:34:40 · 245 阅读 · 0 评论 -
JAVA:遍历目录下的文件
在实际应用中如何查看指定路径下的文件数目,java提供了一种list()函数用于遍历此路径下的所有文件。注意,在遍历的过程中需要指定文件的类型!import java.io.*;import java.util.Arrays;/********************************** 项目:遍历目录下的文件 方法:list() 时间哎:2021.2.1 *********************************/public class traversFileTemp {原创 2022-04-09 21:27:28 · 5206 阅读 · 6 评论 -
JAVA:集合的添加、删除、遍历、大小的方法使用
在实际的开发之中,集合的使用是比较平频繁的。而集合中又分为List集合、Set集合、Map集合,这里首先介绍的是关于List集合的相关用法!代码如下://导入ArrayList、Collection包import java.util.ArrayList;import java.util.Collection;//主程序---------public class CollectionDemo { public static void main(String[] args){ //创建集合对原创 2022-04-01 20:37:00 · 1302 阅读 · 0 评论 -
java面向对象实例1--以学生类
/*1. 按照以下要求设计一个学生类Student,并进行测试。要求如下:(1)Student类中包含姓名、成绩两个属性;(2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值;(3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值;(4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,另一个使用有参的构造方法, 在构造方法中给姓名和成绩赋值*///...原创 2022-03-29 21:13:53 · 2283 阅读 · 0 评论 -
java:采用递归算法实现斐波那契数列
/*********************************************************问题:定义一个数列:0,1,1,2,3,5…(斐波那契数列 )—采用递归方法获取第n个数的数值********************************************************/代码如下:public class 斐波那契数列 { public static int Fibonacci(int n){ if (n==0){ return 0;原创 2022-03-28 22:01:32 · 852 阅读 · 0 评论 -
JAVA:构造方法
/*构造方法:构造方法需要满足以下三个条件(1)方法名与类名相同(2)在方法名的前面没有返回值类型的声明(3)在此方法中不能使用return语句返回一个值,但是可以单独写return语句来作为方法的结束普通的方法:只需要调用方法即可*/public class 构造方法 { int age; //定义一个有参的构造方法 public 构造方法(int a){ age=a; } //定义一个speak方法-----以void为类型的 public void speak(){原创 2022-03-26 18:35:18 · 1021 阅读 · 0 评论 -
JAVA:方法的重载
/*案列:实现对两个整数的相加;对三个整数的相加;对两个小数相加的功能注:方法的重载与返回值无关,它只需要满足两个条件,一个是方法名相同,一个是参数个数或参数类型不同*/public class 方法的重载 { //构造两个整数相加的方法 public static int add(int x,int y){ return x+y; } //构造三个整数相加的方法 public static int add(int x, int y, int z){ return x+y+z;原创 2022-03-25 21:50:21 · 1326 阅读 · 0 评论 -
java如何实现封装?
类的封装,是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问。具体的实现过程是在定义一个类的时候,将类私有化,亦即使用private关键词修饰。私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供一些使用public修饰的公有方法。下面看一个例子://创建Person类class Persons{ private String name; private int age; //创建一个获取name的getN原创 2022-03-15 21:27:47 · 3800 阅读 · 0 评论 -
基于java的数组遍历、排序、求最大值
java中数组的学习是一个重点,对今后的算法学习有着很大的作用。数组的创建方式有以下几种:数组类型 [ ] 数组名=new 数组类型[ 数组长度];数组类型 [ ] 数组名=new 数组类型[ ] {数组元素0,数组元素1,…};数组类型 [ ] 数组名={数组元素0,数组元素1,…};在创建了数组之后,对创建的数组进行遍历和排序、找最大值下面看代码的演示:public class 数组的常见操作 { public static void main(String[] args){原创 2022-03-09 21:51:53 · 549 阅读 · 0 评论 -
java中数组的创建、删除、增加元素
需求:1.创建一个数组arry=1,2,3,4,5,6,7,8,92.对数组arry增加元素10;3.删除数组arry的第二个元素/* 1.创建一个数组为1,2,3,...,9 2.添加元素10 3.删除第二个元素 */public class arry { public static void main(String[] args){ //第一种方法,直接创建 int [] num={1,2,3,4,5,6,7,8,9}; System.out.println("直接创建法:原创 2022-03-07 10:44:45 · 1392 阅读 · 0 评论 -
JAVA处理订购机票案例
/*需求:机票价格按照淡季、旺季,头等舱、经济舱收费,输入机票原价、月份和头等舱或经济舱按照如下规则计算机票的价格:旺季(5-10月)头等舱9折,经济仓8.5折;淡季(11月到来年4月)头等舱7折,经济仓6.5折*/import java.util.Scanner;/* * 需求:机票价格按照淡季、旺季,头等舱、经济舱收费,输入机票原价、月份和头等舱或经济舱 * 按照如下规则计算机票的价格:旺季(5-10月)头等舱9折,经济仓8.5折;淡季(11月到来年4月)头等舱7折,经济仓6.5折原创 2022-03-06 19:06:04 · 374 阅读 · 0 评论 -
java中的变量类型转化
/*在java当中数据类型主要分为两大类:基本数据类型、引用数据类型基本数据类型:数值型、字符型、布尔型数值型:整数类型、浮点类型;整数类型:byte\short\int\long浮点类型:float\double字符型:char;布尔型:boolean引用数据类型:类(class)、接口(interface)、数组、枚举(enum)、注解(Annotation)*/public class 变量的类型转换 { public static void maim(String[] args原创 2022-03-06 16:46:37 · 491 阅读 · 0 评论 -
java的基本语法格式
/*在编写java代码的过程中必需先声明一个类,类使用class的字眼定义,在class前面可以有一些修饰符class的修饰符有:pulic abstract final(默认是default,只允许在同一个包中进行访问)public :只该类是属于公共类,子类可以继承,可以通过实例化来进行引用,进行方法调用。abstract:用来表明此类是抽象类,这样的话,就不可以实例化,可以通过子类实例化。主要是定义一个规范,用子类来实现具体操作。final:是不可继承的类,他是不可以通过继承来进行扩展的。原创 2022-03-06 15:31:30 · 1500 阅读 · 0 评论 -
java中RandomAFileTemp随机读取设备数据
import java.io.*;/************************************** 项目:随机读取设备中的数据 方法:RandomAccessFile\seek\write\ 时间:2021.2.3 *************************************/public class RandomAFileTemp { public static void main(String[] args) throws Exception { //创原创 2021-12-24 09:39:42 · 294 阅读 · 0 评论 -
java读取文件以字符流的形式展示在工作区域
在生活中更多的喜欢读取出来的方式是以字符流的形式,下面展现以字符流读取展现的方式:import java.io.*;/********************************************* 项目:字符流读取文件中的字符串 方法:FileReader/reader 时间:2021.1.25 ********************************************/public class ReaderTemp { public static void mai原创 2021-12-19 12:12:14 · 507 阅读 · 0 评论 -
Java如何读取文件,以字节流的形式读取
Java使用read()方法进行读取文件,主要过程如下:import java.io.*;/***************************************** 案列:I/O字节流的学习---InputStream的学习 时间:2021.1.18 InputStream常用方法: int read()----从输入流读取一个8位的字节,把它转化为0-255之间的整数,并返回这一整数 int read(byte[] b)--从输入流读取若干字节,把它保存到参数b指定的字节数组原创 2021-12-19 12:03:51 · 5480 阅读 · 0 评论 -
JAVA拷贝(复制)图片操作
java文件的拷贝—采用FileInputStream与FileOutputStream的结合,同时根据自己的需要拷贝文件的地址进行修改就可以了。import java.io.*;/******************************** 项目:文件的拷贝 方法:采用FileInputStream与FileOutputStream的结合 时间:2021.1.22 *******************************/public class copyTemp { publi原创 2021-12-19 11:59:14 · 2734 阅读 · 0 评论 -
JAVA中GridLayout网格布局管理器创建GUI
GridLayout使用纵横线将容器分成n行m列大小相等的网络,每个网格中可以添加一个组件。添加到容器的组件首先放置在第一行第一列的网格,然后以此放,放满行后自动换行,从左到右。package guiTemp;import java.awt.*;import javax.swing.*;public class GridLayoutTemp { private static void creatShowGUI() { //创建GridLayout窗体 JFrame f=new J原创 2021-12-16 20:54:56 · 696 阅读 · 0 评论 -
java中creatshowGUI方法实现窗口按钮方法
package guiTemp;/************************************************************** 用处:此种布局下,容器将组件按照添加顺序从左向右放置,达到边界时会自动将组件放到下一行的位置 构造方法: FlowLayout(int align,int hgap,int vgap)--指定组件的对齐方式和水平、垂直间距 当其中的参数都没有时,默认组件居中对齐,水平,垂直间距默认5个单位 参数align决定组件在每行中相对于容器边界原创 2021-12-08 13:23:19 · 576 阅读 · 0 评论 -
java布局管理器---BorderLayout(边界布局管理器)
Swing组件不能单独存在,必须放置在于容器中,然而组件在容器中的位置和尺寸是由布局管理器决定的。Swing工具在AWT的基础上提供8种布局管理器:BorderLayout(边界布局管理器)、BoxLayout(箱式布局管理器)、CardLayout(卡片布局管理器)、FlowLayout(流式布局管理器)、GridBagLayout(网格包布局管理器)、GridLayout(网格布局管理器)、GroupLayout(分组布局管理器)、SpingLayout(弹性布局管理器)。1.BorderLayo原创 2021-08-21 16:47:22 · 3896 阅读 · 0 评论 -
java如何实现九九乘法表?
从小学三年级开始,就开始接触九九乘法表,相信你已经可以随口而出。那么,如何用java实现九九乘法表呢?这个看似简单的问题,你知道怎么处理吗?下面我们一起来看看九九乘法表的代码:public class Example14 {public static void main(String[] args) {//外层循环,变量i控制输出1~9行for(int i=1;i<=9;i++) {//内层循环,变量j 控制输出1~9列for(int j=1;j<=i;j++) {原创 2021-08-18 22:58:38 · 457 阅读 · 0 评论 -
JAVA使用使用字符流存储数据
今天介绍如何使用字符流存储数据,这里采用FileWriter字符输出流进行案例分析,代码如下:package IOTemp;import java.io.*;/************************************** 项目:使用字符流存储数据 方法:FileWriter---字符输出流 时间:2021.1.26 **************************************/public class FileWriteTemp { public st原创 2021-07-09 16:08:27 · 275 阅读 · 0 评论 -
java如何实现杨辉三角?
java如何实现杨辉三角,首先通过杨辉三角的形式推出其通项公式,然后在进行循环编程。public class PrintYangTri { public static void main(String[] arg) { int n; n=6; show(n); } public static void show(int N) { int[][] x; x=new int[N][]; for(int i=0;i<x.length;i++) x[i]=new原创 2021-01-25 16:03:23 · 331 阅读 · 0 评论