`
郑云飞
  • 浏览: 821873 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

郑云飞Java可视化编译器

阅读更多
package a;

public class javaEdit
{
	public static void main(String[] args)
	{
		MyTest mt=new MyTest();
	}
}

 

package a;

public class ListEle
{
	String text;
	int	index;

	public ListEle(String text, int index)
	{
		this.text=text;
		this.index=index;
	}
	public ListEle()
	{
		text = "";
		index= 0;
	}
}

 

package a;
import java.util.LinkedList;
class MyQueue
{

	private LinkedList<ListEle> ll = new LinkedList<ListEle>();

	public void put(ListEle o)
	{
		ll.addFirst(o);
	}

	public ListEle get(int index)
	{
		return ll.get(index);
	}

	public int size()
	{
		return ll.size();
	}

	public void removeLast()
	{
		ll.removeLast();
	}

	public void clear()
	{
		ll.clear();
	}
	
}

 

package a;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.TextArea;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class MyTest extends JFrame implements ActionListener
{
	// 定义所需要的组件
	TextArea jta = null;
	TextArea jta1 = null;
	// 菜单条
	JMenuBar jmb = null;
	JMenu jm = null, jm1 = null, jmNew, jmHelp;
	JMenuItem jmi1 = null,jmi11;
	JMenuItem jmi2 = null, jmi3 = null, jmi4 = null, jmi5, jmi6, jmHelp1,
			jmBefore, jmNext;
	String fileNameE, fN, end = ".java";
	String name = "ClassName", namefile = "";
	String savepath = "", openName = "";
	String javaName = "";// 保存打开的文件后java程序的名称
	String ph;
	File path;
	boolean isSaveJava = false;// 定义一个标志,程序是否保存
	boolean isBianyi = false;
	int isOpenOrNew = 0;// 定义一个变量,用于判断是打开的java文件(isOpenOrNew=1)还是新建的java程序(isopenOrNew=2)
	int runOpenOrNew = 0;// 定义一个变量,用于判断运行的是打开的java文件(isOpenOrNew=1)还是新建的java程序(isopenOrNew=2)
	int currentStep = 0, step = 1;
	MyQueue mq = new MyQueue();

	public MyTest()
	{

		this.setTitle("记事本");
		// 初始化文本编译器(代码区)
		jta = new TextArea("/**\n*代码区间*/\n", 10, 50);// 文本编辑于
		jta.setBackground(Color.pink);// 设置颜色
		jta.setFont(new Font("Dialog", Font.PLAIN, 15));
		// 初始化文本编译器(运行区)
		jta1 = new TextArea("编译运行区间", 10, 50);
		jta1.setBackground(Color.green);
		jta1.setFont(new Font("Dialog", Font.PLAIN, 15));
		// 初始化工具栏
		jmb = new JMenuBar();

		// 初始化菜单栏
		jm = new JMenu("文件");
		jm1 = new JMenu("运行");
		jmNew = new JMenu("项目");
		jmHelp = new JMenu("帮助(H)");

		// 设置助记符
		jm.setMnemonic('F');
		jm1.setMnemonic(1);
		// 初始化子菜单列表
		jmi1 = new JMenuItem("打开文件", new ImageIcon("./image/61.gif"));
		jmi2 = new JMenuItem("文件另存为", new ImageIcon("./image/61.gif"));
		jmi11=new JMenuItem("退出", new ImageIcon("./image/61.gif"));
		jmi3 = new JMenuItem("编译", new ImageIcon("./image/61.gif"));
		jmi4 = new JMenuItem("运行", new ImageIcon("./image/61.gif"));
		jmi5 = new JMenuItem("新建Java", new ImageIcon("./image/61.gif"));
		jmi6 = new JMenuItem("保存java", new ImageIcon("./image/61.gif"));
		jmHelp1 = new JMenuItem("帮助", new ImageIcon("./image/61.gif"));
		jmBefore = new JMenuItem("上一步", new ImageIcon("./image/61.gif"));
		jmNext = new JMenuItem("下一步", new ImageIcon("./image/61.gif"));
		// 注册监听
		jmi5.addActionListener(this);
		jmi5.setActionCommand("newjava");
		jmi6.addActionListener(this);
		jmi6.setActionCommand("savejava");
		jmi1.addActionListener(this);
		jmi1.setActionCommand("open");
		jmi2.addActionListener(this);
		jmi2.setActionCommand("save");
		jmi11.addActionListener(this);
		jmi11.setActionCommand("exit");
		jmi3.addActionListener(this);
		jmi3.setActionCommand("bianyi");
		jmi4.addActionListener(this);
		jmi4.setActionCommand("run");
		jmHelp1.addActionListener(this);
		jmHelp1.setActionCommand("help");
		jmBefore.addActionListener(this);
		jmBefore.setActionCommand("before");
		jmNext.addActionListener(this);
		jmNext.setActionCommand("next");

		// 设置工具栏
		this.setJMenuBar(jmb);

		// 加入菜单栏
		jmb.add(jm);// 文件
		jmb.add(jm1);// 运行
		jmb.add(jmNew);// 项目
		jmb.add(jmHelp);// 帮助
		// 加入菜单栏的子选项
		// 文件的子菜单
		jm.add(jmi1);
		jm.add(jmi2);
		jm.add(jmi11);
		// 运行的子菜单
		jm1.add(jmi6);
		jm1.add(jmi3);
		jm1.add(jmi4);
		// 项目的子菜单
		jmNew.add(jmi5);
		jmNew.add(jmBefore);
		jmNew.add(jmNext);
		// 帮助的子菜单
		jmHelp.add(jmHelp1);

		// 设置布局管理其
		this.setLayout(new GridLayout(2, 1));

		this.add(jta);
		this.add(jta1);

		// 设置窗口大小
		this.setSize(800, 600);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		// 将jta(即文本编辑区)增加键盘的监听事件
		jta.addKeyListener(new KeyAdapter()
		{
			public void keyTyped(KeyEvent e)
			{
				addQ();
			}
		});
	}

	public void addQ()
	{
		// jta.getCaretPosition()返回文本插入符的位置。插入符的位置被限制在 0
		// 和文本最后一个字符(包括)之间。如果没有设置文本或插入符,则默认插入符的位置为 0。
		ListEle list = new ListEle(jta.getText(), jta.getCaretPosition());
		if (jta.getText().length() > 0)
		{
			if (mq.size() < 200)
			{
				mq.put(list);
			}
			else
			{
				mq.removeLast();//移除并返回此列表中的最后一个元素
				mq.put(list);
			}
		}
	}

	public void actionPerformed(ActionEvent e)
	{

		if (e.getActionCommand().equals("open"))
		{
			openFile();
		}
		else if (e.getActionCommand().equals("save"))
		{

			saveFile();
		}
		else if(e.getActionCommand().equals("exit"))
		{
			int a=JOptionPane.showConfirmDialog(this, "确定要离开?");
			if(a==0)
			{
				System.exit(1);
			}
			
		}
		else if (e.getActionCommand().equals("newjava"))
		{
			newJava();

		}
		else if (e.getActionCommand().equals("savejava"))
		{

			saveJava();
		}
		else if (e.getActionCommand().equals("bianyi"))
		{
			bianyiJava();

		}
		else if (e.getActionCommand().equals("run"))
		{
			runJava();
		}
		else if (e.getActionCommand().equals("help"))// 帮助菜单
		{
			helpFile();

		}
		else if (e.getActionCommand().equals("before"))// 上一步
		{

			if (currentStep + step <= mq.size() - 1)
			{
				currentStep += step;
			}
			else
			{
				currentStep = mq.size() - 1;
			}
			jta.setText(mq.get(currentStep).text);

		}
		else if (e.getActionCommand().equals("next"))// 下一步
		{

			if (currentStep - step >= 0)
			{
				currentStep -= step;
			}
			else
			{
				currentStep = 0;
			}
			jta.setText(mq.get(currentStep).text);
		}

	}

	private void helpFile()
	{
		System.out.println("nihao");
		String help1 = "各按钮用法说明:" + "\n\n" + "1.保存文件默认是在当前目录下(即和编译器exe文件相同目录)。";
		String help2 = "\n\n" + "2.如果要把其他地方复制好的代码直接贴到编辑区编译,"
				+ "\n首先用所贴代码相应的*.java文件名来【新建】";
		String help3 = "一个新文件再覆盖自动生成的代码,否则编译器将无法得到文件名而出错。" + "\n\n";

		String help4 = "加到指定位置。" + "\n\n"
				+ "6.本程序暂时需要JDK1.6版本才可运行,没有1.6版的同学可以用javac/java自行编译\n";
		String help5 = "程序附带的源代码来使用。" + "\n\n" + "说明:" + "\n";

		String help6 = "如果对其中某个部分比较感兴趣,可以联系我一起讨论。" + "\n\n"
				+ ".第一次编写这类软件,没啥经验,";
		String help7 = "所以肯定是BUG满天飞,如果有兴趣让它变得更完善,或者有其他意见或者建议,请及时联系我,谢谢!";
		String help8 = "\n\n" + "QQ: 799078779 " + "\n\n"
				+ "E-mail: 799078779@qq.com" + "\n\n";
		JOptionPane.showMessageDialog(this, help1 + help2 + help3 + help4
				+ help5 + help6 + help7 + help8, "帮助",
				JOptionPane.QUESTION_MESSAGE);
	}

	private void runJava()
	{
		// try
		// {
		// System.out.println("ph+name="+ph.toString()+"\\"+name);
		//				 
		// //访问这个类
		// Class cls=Class.forName(ph.toString()+"\\"+name+".class");
		// //调用main方法
		// Method main=cls.getMethod("main", new Class[] {String[].class});
		//					
		// main.invoke(null, new Object[] {new String[0]});
		// //System.setOut(new PrintStream(jta1.getText()));
		//					
		// }
		// catch(Exception e2)
		// {
		// e2.printStackTrace();
		// }
		if (isBianyi == true)
		{
			if (isOpenOrNew == 2)
			{
				Runtime rt = Runtime.getRuntime();
				try
				{

					String s, cmd;
					cmd = new String("java " + name);// Java的执行命令
					Process p = rt.exec(cmd);// 调用进程去执行命令
					jta1.setText(jta1.getText() + "执行命令:" + cmd + "\n");// 重定向执行结果
					// 重定向错误信息
					BufferedReader err = new BufferedReader(
							new InputStreamReader(p.getErrorStream()));
					while ((s = err.readLine()) != null)
					{
						jta1.setText(jta1.getText() + s + "\n");
					}
					// 重定向输出信息(将输出的信息存放到jta1中显示出来)
					BufferedReader in = new BufferedReader(
							new InputStreamReader(p.getInputStream()));
					while ((s = in.readLine()) != null)
					{
						jta1.setText(jta1.getText() + s + "\n");
					}
				}
				catch (Exception eee)
				{
					eee.printStackTrace();
				}
			}
			if (isOpenOrNew == 1)
			{
				javaName = javaName.substring(0, javaName.length() - 5);
				System.out.println("javaName=" + javaName);
				Runtime rt = Runtime.getRuntime();

				try
				{
					String s, cmd, cm;

					cmd = new String("java " + javaName);// Java的执行命令
					Process p = rt.exec(cmd);// 调用进程去执行命令
					jta1.setText(jta1.getText() + "执行命令:" + cmd + "\n");// 重定向执行结果
					// 重定向错误信息
					BufferedReader err = new BufferedReader(
							new InputStreamReader(p.getErrorStream()));
					while ((s = err.readLine()) != null)
					{
						jta1.setText(jta1.getText() + s + "\n");
					}
					// 重定向输出信息(将输出的信息存放到jta1中显示出来)
					BufferedReader in = new BufferedReader(
							new InputStreamReader(p.getInputStream()));
					while ((s = in.readLine()) != null)
					{
						jta1.setText(jta1.getText() + s + "\n");
					}
				}
				catch (Exception eee)
				{
					eee.printStackTrace();
				}
			}
		}
		else
		{
			showMessage("郑云飞友情提示您:请先编译");
		}
	}

	private void bianyiJava()
	{
		if (isSaveJava == true && isOpenOrNew == 2)
		{
			// System.out.println("path="+path.toString());
			// JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
			// int results = compiler.run(null, null, null,path.toString());
			// jta1.setText((results == 0) ? "郑云飞友情提示您:编译成功\n" :
			// "郑云飞友情提示您:编译失败\n");
			// jta1.setText(jta1.getText() + "执行命令:" + "javac "
			// +name+".java"+"\n");
			Runtime t1 = Runtime.getRuntime();
			String cmd = new String("javac " + fileNameE);
			try
			{
				Process p = t1.exec(cmd);
				isBianyi = true;
				jta1.setText("执行命令:" + cmd + "\n");
				BufferedReader err = new BufferedReader(new InputStreamReader(p
						.getErrorStream()));// 重定向错误信息
				String s = "", totalS = "";
				while ((s = err.readLine()) != null)
				{
					jta1.setText(jta1.getText() + s + "\n");
				}
				// jta1.setText(totalS+"\n");
				// 重定向输出信息
				BufferedReader in = new BufferedReader(new InputStreamReader(p
						.getInputStream()));
				String sin = "", totalSin = "";
				while ((sin = in.readLine()) != null)
				{
					jta1.setText(jta1.getText() + sin + "\n");
				}

			}
			catch (IOException e1)
			{

				e1.printStackTrace();
			}
		}
		else if (isSaveJava == true && isOpenOrNew == 1)
		{
			Runtime t1 = Runtime.getRuntime();
			String cmd = new String("javac " + openName);
			try
			{
				Process p = t1.exec(cmd);
				jta1.setText("执行命令:" + cmd + "\n");
				BufferedReader err = new BufferedReader(new InputStreamReader(p
						.getErrorStream()));// 重定向错误信息
				String s = "", totalS = "";
				while ((s = err.readLine()) != null)
				{
					jta1.setText(jta1.getText() + s + "\n");
				}
				// jta1.setText(totalS+"\n");
				// 重定向输出信息
				BufferedReader in = new BufferedReader(new InputStreamReader(p
						.getInputStream()));
				String sin = "", totalSin = "";
				while ((sin = in.readLine()) != null)
				{
					jta1.setText(jta1.getText() + sin + "\n");
				}

			}
			catch (IOException e1)
			{

				e1.printStackTrace();
			}
		}
		else
		{
			String str = "郑云飞友情提示您:请先保存您编写的程序";
			showMessage(str);
			jta1.setText(str);
		}
	}

	private void saveJava()
	{
		isSaveJava = true;
		String file = "";
		if (isOpenOrNew == 1)
		{
			file = new String(openName);
		}
		else if (isOpenOrNew == 2)
		{
			file = new String(name + ".java");
		}
		File dir = new File(".");
		ph = new String();
		try
		{
			ph = dir.getCanonicalPath();// 返回此抽象路径名的规范路径名字符串。
		}
		catch (IOException ioe)
		{
			ioe.printStackTrace();
		}
		path = new File(ph + "\\" + file);
		int i = 10;
		if (path.exists())
		{
			i = JOptionPane.showConfirmDialog(this, "文件已经存在是否覆盖?");
			// 如果选择是 i=0 否i=1 取消 i=2 点击× i=-1
			System.out.println("i=" + i);
		}
		if (i == JOptionPane.YES_OPTION || i == 10)
		{

			BufferedReader in = new BufferedReader(new StringReader(jta.getText()));
			try
			{
				PrintWriter out = new PrintWriter(file);
				String s;
				while ((s = in.readLine()) != null)
				{
					out.println(s);
				}
				jta1.setText(jta1.getText() + "执行命令:保存文件到当前目录。" + "\n");
				if (out != null)
				{
					out.close();
				}
			}
			catch (IOException ee)
			{
				ee.printStackTrace();
			}
		}
		else if (i == JOptionPane.NO_OPTION)
		{
			jta1.setText(jta1.getText() + "文件未保存。" + "\n");
		}
	}

	private void newJava()
	{
		isOpenOrNew = 2;// 标志是新建的java程序,而不是打开的java程序
		boolean flag = true;
		String head = "/**"
				+ "\n"
				+ " * 项目名称:Java可视化编译器\n"
				+ " * 创作人:郑云飞\n  * 项目大纲:1.Swing,2.IO 3,线程\n * 版本:java 1.0测试版\n*/\n";
		while (flag)
		{
			flag = false;
			fileNameE = JOptionPane.showInputDialog("输入文件名称(例如 abc.java ):");
			if (!(fileNameE.endsWith(".java")))
			{
				showMessage("文件名类型错误,应为 *.java");
				flag = true;
			}
			else
			{
				name = new String(fileNameE
						.substring(0, fileNameE.indexOf(end)));// 获取输入的类名称
				// 自动生成的代码

				jta.setText(head);
				jta.setText(jta.getText() + "public class " + name
						+ "\n{\n\tpublic static void main(String[] args)"
						+ "\n\t{");
				jta
						.setText(jta.getText()
								+ "\t\n\t\t"
								+ "System.out.println(\"欢迎进入java编程世界,您可以在这里畅游java品味人生!\");"
								+ "\n\t}\n}");
			}
		}
	}

	private void saveFile()
	{
		// 文件选择组件
		JFileChooser jfc = new JFileChooser();
		// 设置名字
		jfc.setDialogTitle("请选择保存的路径....");
		// 默认方式
		jfc.showSaveDialog(null);
		// 显示
		jfc.setVisible(true);
		savepath = jfc.getSelectedFile().getAbsolutePath();
		namefile = jfc.getSelectedFile().getParent();
		Writer fr = null;
		BufferedReader br = null;
		BufferedWriter bw = null;
		try
		{
			fr = new FileWriter(savepath);
			bw = new BufferedWriter(fr);
			bw.write(this.jta.getText());
			System.out.println("保存成功");
			if (bw != null)
			{
				bw.close();
			}
			if (br != null)
			{
				br.close();
			}
		}
		catch (Exception e1)
		{
			showMessage("保存失败");
			jta1.setText("保存失败");
		}
	}

	private void openFile()
	{
		isOpenOrNew = 1;// 标志是打开的java程序,而不是新建的java程序
		// 文件选择组件
		JFileChooser jfc = new JFileChooser();
		// 设置名字
		jfc.setDialogTitle("请选择文件....");
		// 默认方式
		jfc.showOpenDialog(null);
		// 显示
		jfc.setVisible(true);
		String filepath = jfc.getSelectedFile().getAbsolutePath();
		openName = jfc.getSelectedFile().getName();// 获取打开的文件名
		javaName = jfc.getSelectedFile().getName();
		BufferedReader br = null;
		FileReader fr = null;
		try
		{
			fr = new FileReader(filepath);
			br = new BufferedReader(fr);// 封装管道流
			String s = "";
			String total = "";
			while ((s = br.readLine()) != null)
			{
				// 将读到的数据存放的jta中
				total += s + "\r\n";
			}
			jta.setText(total);
			if (br != null)
			{
				br.close();
			}
			if (fr != null)
			{
				fr.close();
			}
		}
		catch (Exception e1)
		{
			showMessage("打开失败");
		}
	}

	public static void showMessage(String str)
	{
		JOptionPane.showMessageDialog(null, str, "错误",
				JOptionPane.ERROR_MESSAGE);
	}
}

 

分享到:
评论
10 楼 dechenglee 2012-01-03  
先下下来,看看再说
9 楼 nirvana1988 2011-06-07  
确实不咋规范,也没有相关的文字说明
8 楼 anglestudio 2011-06-07  
在我电脑上竟然连菜单都隐藏了.
7 楼 lgsun592 2011-06-07  
这哪是新手帖啊,都被整成隐藏啦
话说从命名规则,import等等的风格上来说,我不喜欢看
6 楼 sokoo108 2011-06-07  
看import也能看出是awt的撒
5 楼 chunquedong 2011-06-07  
编辑器还是编译器?
4 楼 JE帐号 2011-06-07  
什么情况?
3 楼 freish 2011-06-07  
不怕新手贴啊
2 楼 zhangtsi 2011-06-07  
樓主自戀,鑒定完畢
1 楼 003 2011-06-07  
要放也放一个基本能用的版本上来吧

AWT的东东还是换了吧,标题是Swing,我还以为是纯Swing组件呢,结果在输入区一点右键就发现不是了,后来再回来一看代码果然不是

相关推荐

    html+javascript

    项目中的文件"ks1郑云飞"可能包含了HTML文件、JavaScript文件以及其他辅助资源(如CSS文件、图片等)。HTML文件是页面结构的定义,JavaScript文件则是实现交互逻辑,CSS文件则用于控制页面的样式和布局。通过对这些...

    TinyYolo2实时视频流物体检测ONNX模型

    TinyYolo2实时视频流物体检测ONNX模型 运行 ONNX 模型,并结合 OpenCV 进行图像处理。具体流程包括: 1. 加载并初始化 ONNX 模型。 2. 从摄像头捕获实时视频流。 3. 对每一帧图像进行模型推理,生成物体检测结果。 4. 在界面上绘制检测结果的边界框和标签。

    chromedriver-linux64-134.0.6998.23(Beta).zip

    chromedriver-linux64-134.0.6998.23(Beta).zip

    Web开发:ABP框架4-DDD四层架构的详解

    Web开发:ABP框架4-DDD四层架构的详解

    chromedriver-linux64-135.0.7029.0(Canary).zip

    chromedriver-linux64-135.0.7029.0(Canary).zip

    (参考项目)MATLAB人脸门禁系统.zip

    实现人脸识别的考勤门禁系统可以分为以下步骤: 1. 采集人脸图像数据集:首先需要采集员工的人脸图像数据集,包括正面、侧面等多个角度的图像。可以使用MATLAB中的图像采集工具或者第三方库进行采集。 2. 预处理人脸图像数据:对采集到的人脸图像数据进行预处理,包括人脸检测、人脸对齐、人脸裁剪等操作。MATLAB提供了相关的图像处理工具箱,可以用于实现这些处理步骤。 3. 特征提取与特征匹配:使用人脸识别算法提取人脸图像的特征,比如使用人脸识别中常用的特征提取算法如Eigenfaces、Fisherfaces或者基于深度学习的算法。然后将员工的人脸数据与数据库中的人脸数据进行匹配,判断是否为注册员工。 4. 考勤记录与门禁控制:如果人脸匹配成功,系统可以记录员工的考勤时间,并且控制门禁系统进行开启。MATLAB可以与外部设备进行通信,实现门禁控制以及考勤记录功能。

    rdtyfv、ijij

    yugy

    企业IT治理体系规划.pptx

    企业IT治理体系规划.pptx

    基于Nutz、SSH、SSM的新闻管理系统.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    基于多目标粒子群算法的冷热电联供综合能源系统优化调度与运行策略分析,基于多目标粒子群算法的冷热电联供综合能源系统优化调度与运行策略分析,MATLAB代码:基于多目标粒子群算法冷热电联供综合能源系统运行

    基于多目标粒子群算法的冷热电联供综合能源系统优化调度与运行策略分析,基于多目标粒子群算法的冷热电联供综合能源系统优化调度与运行策略分析,MATLAB代码:基于多目标粒子群算法冷热电联供综合能源系统运行优化 关键词:综合能源 冷热电三联供 粒子群算法 多目标优化 参考文档:《基于多目标算法的冷热电联供型综合能源系统运行优化》 仿真平台:MATLAB 平台采用粒子群实现求解 优势:代码注释详实,适合参考学习,非目前烂大街的版本,程序非常精品,请仔细辨识 主要内容:代码构建了含冷、热、电负荷的冷热电联供型综合能源系统优化调度模型,考虑了燃气轮机、电制冷机、锅炉以及风光机组等资源,并且考虑与上级电网的购电交易,综合考虑了用户购电购热冷量的成本、CCHP收益以及成本等各种因素,从而实现CCHP系统的经济运行,求解采用的是MOPSO算法(多目标粒子群算法),求解效果极佳,具体可以看图 ,核心关键词: 综合能源系统; 冷热电三联供; 粒子群算法; 多目标优化; MOPSO算法; 优化调度模型; 燃气轮机; 电制冷机; 锅炉; 风光机组; 上级电网购售电交易。,基于多目标粒子群算法的CCHP综合

    DSP28379D串口升级方案:单核双核升级与Boot优化,C#上位机开发串口通信方案,DSP28379D串口升级方案:单核双核升级与Boot优化,C#上位机开发实现串口通信,DSP28379D串口升

    DSP28379D串口升级方案:单核双核升级与Boot优化,C#上位机开发串口通信方案,DSP28379D串口升级方案:单核双核升级与Boot优化,C#上位机开发实现串口通信,DSP28379D串口升级方案 单核双核升级,boot升级,串口方案。 上位机用c#开发。 ,DSP28379D; 串口升级方案; 单核双核升级; boot升级; 上位机C#开发,DSP28379D串口双核升级方案:Boot串口升级技术使用C#上位机开发

    基于ASP.NET MVC+三层架构和EntityFramework的微博门户网站项目.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    基于PLC的双层自动门控制:光电传感触发,有序开关与延时功能实现,附程序、画面及参考文档 ,基于PLC的双层自动门控制系统:精准控制,保障无尘环境;门间联动,智能安防新体验 ,基于plc的双层自动门控

    基于PLC的双层自动门控制:光电传感触发,有序开关与延时功能实现,附程序、画面及参考文档。,基于PLC的双层自动门控制系统:精准控制,保障无尘环境;门间联动,智能安防新体验。,基于plc的双层自动门控制系统,全部采用博途仿真完成,提供程序,画面,参考文档,详情见图。 实现功能(详见上方演示视频): ① 某房间要求尽可能地保持无尘,在通道上设置了两道电动门,门1和门2,可通过光电传感器自动完成门的打开和关闭。 门1和门2 不能同时打开。 ② 第 1 道门(根据出入方向不同,可能是门 1 或门 2),是由在通道外的开门者通过按开门按钮打开的,而第 2 道门(根据出入方向不同,可能是门 1 或门 2 )则是在打开的第 1 道门关闭后自动地打开的(也可以由通道内的人按开门按钮来打开第2 道门)。 这两道门都是在门开后,经过 3s 的延时而自动关闭的。 ③ 在门关闭期间,如果对应的光电传感器的信号被遮断,则门立即自动打开。 如果在门外或者在门内的开门者按对应的开门按钮时,立即打开。 ④ 出于安全方面的考虑,如果在通道内的某个人经过光电传感器时,对应的门已经打开,则通道外的开门者可以不按开门按钮。

    黑马程序员Java品达通用权限项目,基于SpringCloud SpringBoot 的微服务框架的权限管理解决方案.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    DeepSeek+DeepResearch-让科研像聊天一样简单

    DeepSeek+DeepResearch——让科研像聊天一样简单 (1)DeepSeek如何做数据分析? (2)DeepSeek如何分析文件内容? (3)DeepSeek如何进行数据挖掘? (4)DeepSeek如何进行科学研究? (5)DeepSeek如何写综述? (6)DeepSeek如何进行数据可视化? (7)DeepSeek如何写作润色? (8)DeepSeek如何中英文互译? (9)DeepSeek如何做降重? (10)DeepSeek论文参考文献指令 (11)DeepSeek基础知识。

    基于springboot+uniapp实现的蛋糕商城小程序.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    jdepend-demo-2.9.1-10.el7.x64-86.rpm.tar.gz

    1、文件内容:jdepend-demo-2.9.1-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/jdepend-demo-2.9.1-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    关爱儿童公益网站 web 项目.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络数据分类预测(含模型描述及示例代码)

    内容概要:本文档详细介绍了如何利用 MATLAB 实现鲸鱼优化算法 (WOA) 和长短期记忆网络 (LSTM) 相结合的技术——WOA-LSTM,在数据分类和预测领域的应用。文章首先概述了LSTM在网络训练中超参数依赖的问题以及WOA作为一种新颖的全局优化算法的优势。接着阐述了该项目的研究背景、目的及其重要意义,并深入讨论了项目面临的六大主要挑战,从模型优化到超参数空间管理。文档特别强调WOA-LSTM融合所带来的性能提升、降低计算复杂度的能力及其实现自动化的超参数优化流程。除此之外,文中展示了模型的应用广泛性,覆盖了从金融市场的股票预测到智能制造业的各种实际场景,并提供了具体的模型架构细节和代码实例,以帮助理解模型的工作原理和技术要点。 适合人群:具有一定编程技能的研究人员、工程师和科学家们,尤其是对深度学习技术和机器学习感兴趣的专业人士。 使用场景及目标:该文档的目标是向用户传授使用MATLAB实现WOA-LSTM进行复杂数据分类和预测的方法论,旨在指导读者理解和掌握如何利用WOA进行超参数寻优,从而改善LSTM网络性能。 其他说明:通过阅读这份文档,使用者不仅能够获得有关WOA-LSTM技术的具体实现方式的知识,而且还可以获取关于项目规划和实际部署过程中的宝贵经验。

    tomcat安装及配置教程.md

    tomcat安装及配置教程.md

Global site tag (gtag.js) - Google Analytics