java源代码八字,八字算命源码

十年网站开发经验+多家企业客户+靠谱的建站团队

量身定制+运营维护+专业推广+无忧售后,网站问题一站解决

上面wuzhikun12同学写的不错,但我想还不能运行,并且还不太完善。我给个能运行的:(注意:文件名为:Test.java)

//要实现对象间的比较,就必须实现Comparable接口,它里面有个compareTo方法

//Comparable最好使用泛型,这样,无论是速度还是代码量都会减少

@SuppressWarnings("unchecked")

classStudentimplementsComparableStudent{

privateStringstudentNo;//学号

privateStringstudentName;//姓名

privatedoubleenglishScore;//英语成绩

privatedoublecomputerScore;//计算机成绩

privatedoublemathScore;//数学成绩

privatedoubletotalScore;//总成绩

//空构造函数

publicStudent(){}

//构造函数

publicStudent(StringstudentNo,StringstudentName,doubleenglishSocre,doublecomputerScore,doublemathScore){

this.studentNo=studentNo;

this.studentName=studentName;

this.englishScore=englishSocre;

this.computerScore=computerScore;

this.mathScore=mathScore;

}

//计算总成绩

publicdoublesum(){

this.totalScore=englishScore+computerScore+mathScore;

returntotalScore;

//计算评测成绩

publicdoubletestScore(){

returnsum()/3;

//实现compareTO方法

@Override

publicintcompareTo(Studentstudent){

doublestudentTotal=student.getTotalScore();

returntotalScore==studentTotal0:(totalScorestudentTotal1:-1);

//重写toString方法

publicStringtoString(){

return"学号:"+this.getStudentNo()+"姓名:"+this.getStudentName()+"英语成绩:"+this.getEnglishScore()+"数学成绩:"+this.getMathScore()+"计算机成绩:"+this.getComputerScore()+"总成绩:"+this.getTotalScore();

//重写equals方法

publicbooleanequals(Objectobj){

if(obj==null){

returnfalse;

if(!(objinstanceofStudent)){

Studentstudent=(Student)obj;

if(this.studentNo.equals(student.getStudentName())){//照现实来说,比较是不是同一个学生,应该只是看他的学号是不是相同

returntrue;

}else{

/*以下为get和set方法,我个人认为,totalScore的set的方法没必要要,因为它是由其它成绩计算出来的

在set方法中,没设置一次值,调用一次sum方法,即重新计算总成绩

*/

publicStringgetStudentNo(){

returnstudentNo;

publicvoidsetStudentNo(StringstudentNo){

sum();

publicStringgetStudentName(){

returnstudentName;

publicvoidsetStudentName(StringstudentName){

publicdoublegetEnglishScore(){

returnenglishScore;

publicvoidsetEnglishScore(doubleenglishScore){

this.englishScore=englishScore;

publicdoublegetComputerScore(){

returncomputerScore;

publicvoidsetComputerScore(doublecomputerScore){

publicdoublegetMathScore(){

returnmathScore;

publicvoidsetMathScore(doublemathScore){

publicdoublegetTotalScore(){

//Student子类学习委员类的实现

classStudentXWextendsStudent{

//重写父类Student的testScore()方法

returnsum()/3+3;

publicStudentXW(){}

//StudentXW的构造函数

publicStudentXW(StringstudentNo,StringstudentName,doubleenglishSocre,doublecomputerScore,doublemathScore){

super(studentNo,studentName,englishSocre,computerScore,mathScore);

//Student子类班长类的实现

classStudentBZextendsStudent{

returnsum()/3+5;

publicStudentBZ(){}

publicStudentBZ(StringstudentNo,StringstudentName,doubleenglishSocre,doublecomputerScore,doublemathScore){

//测试类

publicclassTest{

publicstaticvoidmain(String[]args){

//生成若干个student类、StudentXW类、StudentBZ类

Studentstudent1=newStudent("s001","张三",70.5,50,88.5);

Studentstudent2=newStudent("s002","李四",88,65,88.5);

Studentstudent3=newStudent("s003","王五",67,77,90);

StudentXWstudent4=newStudentXW("s004","李六",99,88,99.5);

StudentBZstudent5=newStudentBZ("s005","朱漆",56,65.6,43.5);

Student[]students={student1,student2,student3,student4,student5};

for(inti=0;istudents.length;i++){

doubleavgScore=students[i].testScore();

System.out.println(students[i].getStudentName()+"学生的评测成绩为:"+avgScore+"分");

运行结果为:

张三学生的评测成绩为:69.66666666666667分

李四学生的评测成绩为:80.5分

王五学生的评测成绩为:78.0分

李六学生的评测成绩为:98.5分

朱漆学生的评测成绩为:60.03333333333333分

packagecom.regex;

importjava.io.*;

importjava.net.URLDecoder;

importjava.util.regex.*;

publicclassRegex{

privateintREMARK=0;

privateintLOGIC=0;

privateintPHYSIC=0;

booleanstart=false;

/**

*@paramargs

publicstaticvoidmain(String[]args){//测试方法

//TODOAuto-generatedmethodstub

Regexre=newRegex();

re.regCount("Regex.java");

System.out.println("remarkLine:"+re.REMARK);

System.out.println("logicLine:"+re.LOGIC);

System.out.println("physicLine:"+re.PHYSIC);

}/**

*@authorBlueDance

*@params

*@deprecatedcount

publicvoidregCount(Strings){

Stringurl=null;

try{

url=URLDecoder.decode(this.getClass().getResource(s).getPath(),"UTF-8");

}catch(Exceptione){

e.printStackTrace();

//TODO:handleexception

BufferedReaderbr=newBufferedReader(newFileReader(newFile(url)));

Strings1=null;

while((s1=br.readLine())!=null){

PHYSIC++;

if(CheckChar(s1)==1){

REMARK++;

System.out.println("纯注释行:"+s1);

if(CheckChar(s1)==2){

LOGIC++;

System.out.println("非纯注释行:"+s1);

if(CheckChar(s1)==3)

}catch(FileNotFoundExceptione){

//TODOAuto-generatedcatchblock

}catch(IOExceptione){

*

*@returnint

*@versionchecks

publicintCheckChar(Strings){

if(s!=null)

s1=s.trim();

//System.out.println(regCheck(s1,re));

if(regCheck(s1,"(//.*)"))//判断//开头的为纯注释行

return1;

if(regCheck(s1,"(.*[;{})]*//.*)"))//判断不是//开头的非纯注释行

return2;

if(regCheck(s1,"(//*.*)")){//判断/*开头的纯注释行

start=true;

if(regCheck(s1,"(.*[;{})]//*.*)")){//判断不是/*开头的非纯注释行

if(regCheck(s1,"(.**/*/)")){//判断*/结尾的纯注释行

start=false;

if(regCheck(s1,"(.**/*/.*)")!strCheck(s1)){//判断不是*/结尾的非纯注释行

if(strCheck(s1)){

if(start==true)//状态代码,start即/*开始时start=true*/结束时为false

return3;//ssssllll

}//aeee

*@paramre

*@returnboolean

publicbooleanregCheck(Strings,Stringre){//正则表达试判断方法

returnPattern.matches(re,s);

publicbooleanstrCheck(Strings){//中间有*/的字符判断此方法最关键

if(s.indexOf("*/")0){

intcount=0;

Stringy[]=s.split("/*/");

booleanboo[]=newboolean[y.length];

for(inti=0;iy.length-1;i++){

charc[]=y[i].toCharArray();

for(intj=0;jc.length;j++){

if(c[j]=='\\'c[j+1]=='"'){

count++;

if(count%2==0){

if(countNumber("\"",y[i])%2!=0){

boo[i]=true;

boo[i]=false;

if(countNumber("\"",y[i])%2==0){

for(inti=0;iboo.length;i++){

if(!boo[i])

String[]k=y.split(s);

if(y.lastIndexOf(s)==(y.length()-s.length()))

count=k.length;

else

count=k.length-1;

if(count==0)

System.out.println("字符串\""+s+"\"在字符串\""+y+"\"没有出现过");

returncount;

return-1;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassGoodLuckyextendsJFrameimplementsActionListener{

JTextFieldtf=newJTextField();//实例化一个文本域

//设置两个按钮

JButtonb1=newJButton("开始");

JButtonb2=newJButton("停止");

booleanisGo=false;

publicGoodLucky(){

b1.setActionCommand("start");//在开始按钮上设置一个动作监听start

JPanelp=newJPanel();//实例化一个可视化容器

//将两个按钮添加到可视化容器上面,用add方法

p.add(b1);

p.add(b2);

//在两个按钮上增加监听的属性,自动调用下面的监听处理方法actionPerformed(ActionEvente),如果要代码有更好的可读性,可用内部类实现动作

//监听处理。

b1.addActionListener(this);

b2.addActionListener(this);

//将停止按钮设置为不可编辑(即不可按的状态)

b2.setEnabled(false);

this.getContentPane().add(tf,"North");//将上面的文本域放在面板的北方,也就是上面(上北下南左西右东)

this.getContentPane().add(p,"South");//将可视化容器pannel放在南边,也就是下面

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置用户在此窗体上发起"close"时默认执行的操作,参数EXIT_ON_CLOSE是使用Systemexit方法退出应用程序。仅在应用程序中使用

this.setSize(300,200);//设置面板大小,宽和高

this.setLocation(300,300);//设置面板刚开始的出现的位置

Cursorcu=newCursor(Cursor.HAND_CURSOR);//用指定名称创建一个新的定制光标对象,参数表示手状光标类型

this.setCursor(cu);//为指定的光标设置光标图像,即设置光标图像为上面所创建的手状光标类型

this.setVisible(true);//将面板可视化设置为true,即可视,如果为false,即程序运行时面板会隐藏

tf.setText("welcomeyou!");//设置面板的标题为欢迎

this.go();//调用go方法

publicvoidgo(){

while(true){//这里是死循环,也就是说用户不点击停止按钮的话他一直循环出现随机数,直到用户点击停止按钮循环才能推出,具体流程在actionPerformed方法中控制。

if(isGo==true){//上面所定义的isGo的初始值为false,所以程序第一次到此会跳过

Strings="";//设置空字符串

for(intj=1;j=7;j++){//产生7个随机数

inti=(int)(Math.random()*36)+1;//每个随机数产生方式,这里定义灵活,可以自由定义随机数产生的方式

if(i10){

s=s+"0"+i;//如果产生的随机数小于10的话做处理:这里就牵扯到一个重要的概念,简单叙述一下:

/*

当一个字符串与一个整型数项相加的意思是连接,上面的s=s+"0"+i的意思是字符串s链接0再连接整型i值,而不会导致0和整型的i相加,

产生的效果为s0i,由于s为空字符串(上面定义过的),所以当i小于零时,在个位数前面加上0,比如产生的随机数i为7的话,显示效果为07.

s=s+""+i;//如果产生的随机数比10打的话,那么加上空格显示,即数字和数字之间有个空格

//以上循环循环七次,以保证能出现7个随机数

tf.setText(s);//将产生的随机数全部显示在文本域上,用文本域对象tf调用它的设置文本的方法setText(String)实现。

//以下为线程延迟

Thread.sleep(10);//线程类同步方法sleep,睡眠方法,括号里的单位为ms。

}catch(java.lang.InterruptedExceptione){

e.printStackTrace();//异常捕获,不用多说。

publicvoidactionPerformed(ActionEvente){//传入一个动作事件的参数e

Strings=e.getActionCommand();//设置字符串s来存储获得动作监听,上面的start

以下这个条件语句块的作用为:用户点击开始后(捕获start,用方法getActionCommand()),将命令触发设置为true,从而执行上面的go方法中的循环体(因为循环体中要求isGo参数为true,而初始为false)。

执行循环快产生随机数,并将开始按钮不可编辑化,而用户只可以使用停止按钮去停止。如果用户按下停止时,也就是没有传入参数“start”的时候,

执行else语句块中的语句,isGo设置为false,将不执行上面go中的循环语句块,从而停止产生随机数,并显示,并且把开始按钮设置为可用,而把

停止按钮设置为不可用,等待用户按下开始再去开始新一轮循环产生随机数。

if(s.equals("start")){//如果捕获到start,也就是用户触发了动作监听器,那么下面处理

isGo=true;//设置isGo为true

b1.setEnabled(false);//将开始按钮设置为不可用

b2.setEnabled(true);//将停止按钮设置为可用

isGo=false;//将isGo设置为false,isGo为循环标志位

b2.setEnabled(false);//设置停止按钮为不可用(注意看是b2,b2是停止按钮)

b1.setEnabled(true);//设置开始按钮为可用

newGoodLucky();//产生类的实例,执行方法

//我写了一个程序,你把文字复制到文本框中点转码按钮,就可以了

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JTextArea;

publicclassClass1extendsJFrame{

privatefinalclassATimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

jta.setText(fixString(jta.getText()));

JFramejf=newClass1();

JTextAreajta=newJTextArea();

publicClass1(){

setSize(400,400);

setDefaultCloseOperation(EXIT_ON_CLOSE);

JButtonjb=newJButton("转码");

jb.addActionListener(newAT());

add(jta);

add("North",jb);

setVisible(true);

StringfixString(Strings){

while(true){

intindex=s.indexOf("\\u");

if(index!=-1){

Strings1=s.substring(index,index+6);

if(s1.matches("\\\\u[0-9A-F]{4}")){

charc=(char)Integer.parseInt(s1.replace("\\u",""),16);

s=s.substring(0,index)+c+s.substring(index+6);

break;

returns;

生辰八字的介绍请参考:

具体算法:

1、设置一个下限年,比如1960,1960年以前的就不给查。并且查万年历,该年节后是庚子年。

2、将天干和地支分别装在两个数组里面。

3、以该年为基准线,设定循环,以查询年为上限年,循环计数器每加一年,天干和地支数组标号各右移一位,然后if判断是否数组到底了,到底了则从头开始。

月、时的算法类似。

publicclassTestStar{

Stringstar="*";

for(inti=0;i5;i++){

if(i==0){

System.out.print(""+star);

System.out.println();

if(i==1){

for(intz=0;z4;z++){

if(i==2){

System.out.print("");

for(intx=0;x3;x++){

if(i==3){

for(inty=0;y2;y++){

System.out.print(""+star+"");

是好使的但是我没找到画五角星有什么规律(五角星好象不是正规图形吧?)如果还有什么要求的话补充问题(如果是用*填充所有的东西不包括“”的话我可以重新再给你写一个)

THE END
1.在线八字易经宝宝取名源码带源码数据(网页+APP+小程序)八字宝宝起名源码是指用于开发能够根据生辰八字为宝宝起名的网站或应用程序的源代码。这种源码通常集成了八字命理学、大数据分析、人工智能算法以及用户友好的界面设计,旨在为用户提供个性化的起名服务。文章手把手带大家开发一款基于PHP的周易八字宝宝起名源码,这是一个复杂且涉及多个领域知识的任务。 https://blog.csdn.net/rongtinghua/article/details/144259476
2.八字排盘最准确的软件下载手机版八字排盘免费软件用户可以通过这款软件在线进行各种类型的排盘操作,包括但不限于星盘、八字排盘等,满足不同用户的需求。软件界面简洁明了,操作流程直观易懂,即便是初次使用的用户也能快速上手。此外,线上排盘软件还提供了丰富的教程和帮助文档,帮助用户更好地理解和使用各项功能。通过云端技术的支持,用户可以随时随地访问自己的排盘数据https://www.greenxf.com/tag/xspp.html
3.易奇八字排盘测算免费,rpa,机器人,自动化多特软件站易奇八字排盘免费算命软件(易奇文化)app免费下载_易奇八字 2023年5月31日?·?易奇八字看命是一款技术专业八字排盘测算专用工具,参照诸多古籍文献,对 生辰八字 开展详细说明,更具八字合婚、财运机会等服务,给你提供全方位的测算具体内容! 更多内容请查看https://www.duote.com/android/1089481.html https://www.wdlinux.cn/html/zonghe/20241211/24109.html
4.农历公历干支历八字排盘与寿星万年历进行比对,公历儒略历部分完全匹配,节气及月相部分相差不超过20秒,真太阳时部分相差在20秒内。在四柱八字算法和星座算法上可能存在一些差异。 7.需要解释的问题: 在采取真太阳时排盘时,是否需要将廿四节气转为真太阳时?可以根据不同方案进行斟酌,如仅对日柱时柱做调整、年月日时柱均做调整但节气时刻不https://www.zhongxintang.com/peixun/4600.html
5.南方批八字软件2.3.0算法注册机南方批八字软件2.3.0算法注册机 南方批八字软件是一款功能十分齐全并专业化,界面简洁无多余设定,操作便捷无需培训上手可以马上使用的强大并拥有专业度的批八字软件,马上下载这款南方批八字软件吧。 南方批八字软件基本简介 南方批八字软件参考二十多本命理著作,整理收集了10000多条断语,照顾到了普通格局和特殊格局(如专https://www.zyfx8.cn/1581.html
6.ThinkPHP周易八字风水宝宝起名网站源码(全套数据下载+支付系统5.2 名字生成算法 5.3 名字解析与评分 前端界面设计 测试与优化 部署与上线 结论与展望 1. 引言 起名网站源码的开发与搭建,旨在为用户提供便捷、高效、个性化的起名服务。随着互联网的普及和人们对个性化需求的增加,起名网站逐渐成为家长们为新生儿取名的重要工具。本文将从系统需求分析、技术选型、架构设计、数据库设计https://www.jianshu.com/p/129b35016953
7.紫微斗数排盘八字节气等源码不可多得的《紫微斗数排盘系统源码》,包括万年历的算法,二十四节气的算法,阴阳历的转换,闰年闰月的算法,十二宫安星的算法,命宫身宫主星的算法,以及各种辅星的算法,十干四化的算法,流年三十六神煞的算法等等。 另外,融合了四柱八字的算法,五柱考刻等,图片保存。 右键支持截屏截图。-Ziwei Doushu 12-Palace with https://www.iteye.com/resource/laincastle-2658022
8.周易PHP占卜算命源码完整版后来,它引申为泛指占卜、八字算命、六柱预测、看相、测名等。而在数字化时代,起名这一传统习俗也迎来了数字化变革。起名网站应运而生,它们不仅提供丰富的名字库、寓意解析,还融入了个性化推荐和智能算法,为用户打造独一无二的命名体验。本文将深入探讨周易算命的基本原理、起名网站的源码设计思路及关键技术实现,并https://blog.51cto.com/u_17055868/12196125
9.八字排盘源代码理想股票技术论坛想了解八字排盘的算法和程序实现?我们提供八字排盘源代码,帮助您快速了解和使用八字排盘算法,方便进行八字命理分析。无论是学习探索还是开发应用,我们的八字排盘源代码将为您提供强大的支持和便利。 ,理想股票技术论坛https://www.55188.com/tag-2178943.html
10.八字易经算法之用JAVA实现排大运 下载本文档 版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领文档简介1、八字易经算法之用JAVA实现排大运 我就细细说怎么排势和十神请初学者从八字易经算法之用JAVA实现排大运开始,前面谈过的基础知识不再叙述。十天干生旺死绝表 天干 长生 沐浴 冠带 临官 帝旺 衰 病https://www.renrendoc.com/paper/206459853.html
11.小蜜蜂称骨PHP算命系统源码下载源码授权:免费软件 源码类别:投票调查 应用平台:php+mysql 源码官网:未知官方 更新时间:2009-03-14 网友评分: 360通过腾讯通过金山通过 29KB 详情介绍 按古代留传下来的生辰八字算法帮您算命 小蜜蜂称骨php算命系统 下载地址 下载错误?【投诉报错】 本资源由用户投稿上传,内容来自互联网,本站只做免费推荐用于学习分https://www.jb51.net/codes/11234.html
12.春哥技术团队倾力打造:春哥起名算命塔罗星座八字测算大全系统源码2. **数据丰富性**:内置海量姓名库、八字数据库、塔罗牌义资料、星座解析等内容,确保测算结果准确、权威。开发者可根据需要自由增删、更新数据资源,满足不同地域、文化背景的用户需求。 3. **高度定制化**:源码提供了丰富的配置选项与接口,开发者可根据自身业务需求,灵活调整系统界面、功能模块、测算算法等,打造独https://web.2205buxiugangban.com/zixun/2829.html
13.生辰八字五行宝宝起名软件V23.6算法分析Sendige成品:https://share.weiyun.com/89dd392ddbbb753f64c10dcb21a7e758 (密码:NYXK9I) 生辰八字五行宝宝起名软件 V23.6 算法分析 http://www.52pojie.cn/thread-574371-1-1.html (出处: 吾爱破https://www.cnblogs.com/Sendige/p/9604958.html
14.生辰八字计算器吾爱破解现在随便一个算命网站就可以算生成生辰八字(何况很多人还不信《周易》),不比我这软件方便多了,我https://www.52pojie.cn/thread-473544-1-1.html