javaendi的简单介绍

博主:adminadmin 2022-12-10 12:00:19 71

今天给各位分享javaendi的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求大神帮忙一句一句翻译这个java类的意思~~~~~~~~~~~~

输入输出事件。。。*;

输入。输出。*;

导入数据库。*摆动;

公共类handlemove延伸录入实现mouselistener,动作监听{

点[ ] [ ]点;

国际时间= 0;

javax.swing.timer recordtime;

文本输入框中;

verifysuccess验证;

handlemove() {

recordtime =新数据库。摆动。定时器(1000,这个);

欣欣=新的文本输入框(16);

欣欣。seteditable(假);

欣欣。sethorizontalalignment(文本输入框。中心);

欣欣。设置字体(新字体(“楷体_gb2312”,font.bold,16));

jlabel hitmess =新jlabel(“用鼠标单击方块”,jlabel中心。);

hitmess监听器。(新字体(“楷体_gb2312”,font.bold,18));

添加(hitmess);

添加(表演);

setbackground(青色色。);

}

公共无效点(点[ ] [ ]磷){

点=磷;

}

公共无效initspendtime() {

recordtime stop();

时间= 0;

欣欣。从(空);

}

公共无效setverifysuccess(verifysuccess验证){

this.verify =验证;

}

公共无效mousepressed(mouseevent欧){

recordtime start();

块=空;

块=(块)大肠getsource();

国际getbounds()宽度=块。;

2 =块。getbounds()高度;

在开始= - 1,startj = - 1,我= - 1,endj = - 1;

点起点= getatpoint()块;

端点=空;

为(国际我= 0;我点[ 0 ]。长度;我+ +){

为(= 0个;论文点[ 0 ]。长度;M + +)

如果(点[我] [ M ]。等于(起点)){

开始=我;

startj = M;

打破;

}

}

为(国际我= 0;我 point.length;我+ +){

为(= 0个;论文点[ 0 ]。长度;M + +)

如果(点[我] [ M ]。ishaveblock() = =假){

我=我;

endj = M;

端点=点[我] [ M ];

打破;

}

}

布尔movecondition1 =数学。抗体(迪-开始)= = 1 endj = = startj;

布尔movecondition2 =数学。绝对值(endj - startj)= = 1 我= =开始;

如果(movecondition1 | | movecondition2){

块。setlocation(终点。getx(),gety()端点。);

块setatpoint(终点);

端点。setblock(块);

端点。sethaveblock(真的);

起点sethaveblock(假);

}

}

公共无效actionperformed(actionevent欧){

时间+ +;

欣欣。从(“您的用时:“+ +”秒时间”);

}

公共无效mousereleased(mouseevent欧){

如果(issuccess()验证。){

recordtime stop();

joptionpane。showmessagedialog(这个,”您成功了!”,“消息框”,

joptionpane information_message。);

}

}

公共无效mouseentered(mouseevent欧){

}

公共无效mouseexited(mouseevent欧){

}

公共无效mouseclicked(mouseevent欧){

}

}

matlab 程序运行很慢,怎么改进?

提高matlab程序运行速度,可以用以下方法:

1、更改MATLAB启动快捷方式

在缺省配置下,MATLAB有一个启动闪屏,去掉它可以节省一定的内存消耗,从而加快启动。

在MATIJAB启动快捷方式后添加命令行参数 一nos-plash”即可_去掉闪屏。

缺省配置 MATLAB会启动虚拟机,这会消耗大量内存。添加命令行参数"-nojvm”可禁用JAVA虚拟机。

MATLAB启动快捷方式命令形如:

"%MATLABROOT%\bin\win32\matlab.exe -nosplash -nojvm”。

经过以上配置,MATLAB启动和运行速度会得到大幅提升。

注意:禁用JAVA虚拟机后,MATLAB中有些功能,诸如:调试功能、可视化界面设计功能不能使用,但大多数其它功能可正常运行。如果使用的功能需要JAVA虚拟机支持,启动时将命令行参数 一nojvm 去掉即可。

2、更改MATLAB搜索路径

MATLAB启动时会添加搜索路径。如果安装了多个工具箱,搜索路径会很多。过多的搜索路径除了减缓启动速度外,还会影响MATLAB执行效率。因为MATLB执行程序时会在这些路径中寻找M文件。而实际上我们不会为完成某个任务使用所有的工具箱。为提高启动和运行速度,可以修改pathdef.m文件,将暂时不用的工具箱和其它搜索路径注释掉(MATLAB程序以%为注释标识),从而加快启动和运行。

用JAVA编写一个汉诺塔类要求有 int diskNum,string source, string middle ,string target

附录:主要源程序

(1) Disk.java

package code;

import java.awt.*;

public class Disk extends Button {

int number;//盘子的个数

public Disk(int number) {this.number = number;

setBackground(Color.yellow);}

public int getNumber() {return number; }}

(2) TowerPoint.java

package code;

import java.awt.*;

public class TowerPoint {

int x, y;//塔上的点位置,即盘子的放置位置

boolean isHaveDisk;//判断点上是否有盘子

Disk disk ;HannoiTower con ;

public TowerPoint(int x, int y, boolean boo) {this.x = x; this.y = y; isHaveDisk = boo; }

public boolean getIsHaveDisk() {return isHaveDisk; }

public void setIsHaveDisk(boolean boo) {isHaveDisk = boo; }

public int getX() { return x; } //获得点位置坐标

public int getY() { return y; }

public void putDisk(Disk disk, HannoiTower con) {//在点上放盘子

this.con = con;con.setLayout(null);//设置布局

this.disk = disk;con.add(disk);//加盘子到容器中

int w = disk.getBounds().width;//获得盘子的长和宽 getBounds()以Rectangle对象的形式获取组件的边界

int h = disk.getBounds().height;

disk.setBounds(x - w / 2, y - h / 2, w, h);//setBounds()移动组件并调整其大小,控件位置坐标,后面是宽度和高度

isHaveDisk = true;con.validate(); }

public Disk getDisk() {return disk; }}

(3) HannoiTower.java

package code;

import javax.swing.*;

import java.awt.*;

public class HannoiTower extends JPanel{

TowerPoint point[];//塔上点数组

boolean move = false;//判断是否移动

Disk disks[];//盘子数组

int diskNum = 0;//定义盘子个数

int width, height;//盘子的宽度和高度

char towerName[] = { 'A', 'B', 'C' };//塔名

TextArea infoArea ;

int autoNum = 1;//计算步数

public HannoiTower(int number, int w, int h, char[] name, TextArea text) {towerName = name;diskNum = number;width = w;height = h;

infoArea = text;setLayout(null);

disks = new Disk[diskNum];//初始化盘子个数

//设置塔上的点属性

point = new TowerPoint[3 * diskNum];//塔上点的个数=3*盘子个数

int space = 20;

for (int i = 0; i diskNum; i++) {//第一根柱子上的点

point[i] = new TowerPoint(40 + width, 100 + space, false);//设置点的位置和没有盘子

space = space + height; }

space = 20;

for (int i = diskNum; i 2 * diskNum; i++) {//第二根柱子上的点

point[i] = new TowerPoint(200 + width, 100 + space, false);

space = space + height; }

space = 20;

for (int i = 2 * diskNum; i 3 * diskNum; i++){//第三根柱子上的点

point[i] = new TowerPoint(360 + width, 100 + space, false);

space = space + height; }

//设置盘子属性

int tempWidth = width;

int sub = (int) (tempWidth / diskNum);

for (int i = diskNum - 1; i = 0; i--) {disks[i] = new Disk(i);

disks[i].setSize(tempWidth, height);//设置盘子的宽和高

tempWidth = tempWidth - sub;}

for (int i = 0; i diskNum; i++) {point[i].putDisk(disks[i], this);

}}

public void paint(Graphics g) {super.paint(g);

g.drawLine(point[0].getX(), point[0].getY(), point[diskNum - 1].getX(),point[diskNum - 1].getY());//画3根竖线

g.drawLine(point[diskNum].getX(), point[diskNum].getY(),

point[2 * diskNum - 1].getX(), point[2 * diskNum - 1].getY());

g.drawLine(point[2 * diskNum].getX(), point[2 * diskNum].getY(),

point[3 * diskNum - 1].getX(), point[3 * diskNum - 1].getY());

g.drawLine(point[diskNum - 1].getX() - width,

point[diskNum - 1].getY(), point[3 * diskNum - 1].getX()

+ width, point[3 * diskNum - 1].getY());

int leftx = point[diskNum - 1].getX() - width;//画灰色矩形

int lefty = point[diskNum - 1].getY();

int w = (point[3 * diskNum - 1].getX() + width) - (point[diskNum - 1].getX() - width);

int h = height / 2;

g.setColor(Color.gray);

g.fillRect(leftx, lefty, w, h);

g.setColor(Color.red);//画红点

int size = 4;

for (int i = 0; i 3 * diskNum; i++) {

g.fillOval(point[i].getX() - size / 2, point[i].getY() - size / 2, size, size); }

g.drawString("" + towerName[0] + "塔", point[diskNum - 1].getX(),

point[diskNum - 1].getY() + 30);

g.drawString("" + towerName[1] + "塔", point[2 * diskNum - 1].getX(),

point[diskNum - 1].getY() + 30);

g.drawString("" + towerName[2] + "塔", point[3 * diskNum - 1].getX(),

point[diskNum - 1].getY() + 30);

g.drawString("将全部盘子从" + towerName[0] + "塔搬运到" + towerName[1] + "塔"+ towerName[2] + "塔", point[diskNum - 1].getX(),point[diskNum - 1].getY() + 80);}

/**

* 自动演示函数

*/

public void autoMoveDisk(int diskNum, char one, char two, char three) {//one塔1、two塔2、three塔3

if (diskNum == 1) //当盘子只有一个时

{infoArea.append(autoNum + ":" + one + "塔 -----" + three + "塔\n");

autoNum++;

Disk disk = getTopDisk(one);//获得塔1上最上面的盘子

int startI = getTopDiskPosition(one);//

int endI = getTopDiskUp(three);

if (disk != null) {point[endI].putDisk(disk, this);

point[startI].setIsHaveDisk(false);pause();}}

else {autoMoveDisk(diskNum - 1, one, three, two);

infoArea.append(autoNum + ":" + one + "塔 -----" + three + "塔\n");

autoNum++;

Disk disk = getTopDisk(one);

int startI = getTopDiskPosition(one);

int endI = getTopDiskUp(three);

if (disk != null) {point[endI].putDisk(disk, this);

point[startI].setIsHaveDisk(false);pause();}

autoMoveDisk(diskNum - 1, two, one, three);}}

/**

* 取最上方的盘子

*/

public Disk getTopDisk(char towerN) {//towerN塔名

Disk disk = null;

if (towerN == towerName[0]) {

for (int i = 0; i diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {//判断是否有盘子

disk = point[i].getDisk();break;}}}

if (towerN == towerName[1]) {

for (int i = diskNum; i 2 * diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

disk = point[i].getDisk();break;}}}

if (towerN == towerName[2]) {

for (int i = 2 * diskNum; i 3 * diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

disk = point[i].getDisk();break;}}}

return disk;}

/**

* 在塔中获取盘子的放置位置

*/

public int getTopDiskUp(char towerN) {

int position = 0;

if (towerN == towerName[0]) {

int i = 0;

for (i = 0; i diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

position = Math.max(i - 1, 0);

break;}}

if (i == diskNum) {position = diskNum - 1; }}

if (towerN == towerName[1]) {

int i = 0;

for (i = diskNum; i 2 * diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

position = Math.max(i - 1, 0);break;}}

if (i == 2 * diskNum) {position = 2 * diskNum - 1; }}

if (towerN == towerName[2]) {int i = 0;

for (i = 2 * diskNum; i 3 * diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

position = Math.max(i - 1, 0);break;}}

if (i == 3 * diskNum) {position = 3 * diskNum - 1; }}

return position;}

/**

* 在塔中获取最上面盘子的位置

*/

public int getTopDiskPosition(char towerN) {

int position = 0;

if (towerN == towerName[0]) {

int i = 0;

for (i = 0; i diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

position = i;break;}}

if (i == diskNum) {position = diskNum - 1; }}

if (towerN == towerName[1]) {int i = 0;

for (i = diskNum; i 2 * diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {position = i;break;}}

if (i == 2 * diskNum) {position = 2 * diskNum - 1; }}

if (towerN == towerName[2]) {int i = 0;

for (i = 2 * diskNum; i 3 * diskNum; i++) {

if (point[i].getIsHaveDisk() == true) {

position = i;break;}}

if (i == 3 * diskNum) {position = 3 * diskNum - 1; }}

return position;}

public void pause() {

try {Thread.sleep(1000);// 1s移动1步} catch (InterruptedException e) {}}}

(4) Tower.java

package code;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Tower extends Frame implements ActionListener, ItemListener, Runnable {

HannoiTower tower;

JButton renew, auto;

Choice diskNumComBox;

char towerName[] = { 'A', 'B', 'C' };

int diskNum, diskWidth, diskHeight;

Thread thread;

TextArea infoArea;

public Tower() {

thread = new Thread(this);

diskWidth = 120;diskHeight = 18;

infoArea = new TextArea(15, 15);

infoArea.setText(null);

diskNumComBox = new Choice();//下拉列表

diskNumComBox.setName("diskNumComBox");//设置名字

diskNumComBox.setSize(300, 10);//设置列表大小

diskNumComBox.setFont(new java.awt.Font ("Dialog", 0, 11));//设置字体

diskNumComBox.setBackground(java.awt.Color.white);//设置下拉按钮的背景色

diskNumComBox.setForeground(java.awt.Color.black);//设置下拉按钮的前景色

for(int i=1;i=9;i++){diskNumComBox.add(String.valueOf(i));}//设置盘子数目

diskNum = Integer.valueOf(diskNumComBox.getSelectedItem().toString());

tower = new HannoiTower(diskNum, diskWidth, diskHeight, towerName, infoArea);

renew = new JButton("重新开始");

auto = new JButton("自动演示");

renew.addActionListener(this);

auto.addActionListener(this);

diskNumComBox.addItemListener(this);

JPanel topPanel = new JPanel();//设置两个按钮和下拉按钮的布局,放于容器topPanel中

topPanel.add(auto, BorderLayout.WEST);

topPanel.add(renew, BorderLayout.CENTER);

topPanel.add(diskNumComBox, BorderLayout.EAST);

add(tower, BorderLayout.CENTER);//设置整体布局为边界布局

add(topPanel, BorderLayout.NORTH);

add(infoArea, BorderLayout.EAST);

addWindowListener(new WindowAdapter() {//关闭窗口时调用

public void windowClosing(WindowEvent e) {

System.exit(0);}});

setVisible(true);setBounds(40, 20, 700, 540);

validate();//是Container类中的方法,该方法用来更新容器中的布局}

public void actionPerformed(ActionEvent e) {//重置

if (e.getSource() == renew) {

if (!(thread.isAlive())) {//判断线程不活着

this.remove(tower);//Frame中的函数,重新构建,从此窗体移除指定的菜单栏。

infoArea.setText(null);

tower = new HannoiTower(diskNum, diskWidth, diskHeight, towerName, infoArea);

add(tower, BorderLayout.CENTER);

validate();}

else {}}

if (e.getSource() == auto) {//创建线程,自动演示

if (!(thread.isAlive())) {thread = new Thread(this); }

try {thread.start();} catch (Exception eee) {}}}

public void itemStateChanged(ItemEvent e) {

if (e.getSource() == diskNumComBox) {

if (!(thread.isAlive())) {

this.remove(tower);

infoArea.setText(null);

diskNum = Integer.valueOf(diskNumComBox.getSelectedItem().toString());

tower = new HannoiTower(diskNum, diskWidth, diskHeight, towerName, infoArea);

add(tower, BorderLayout.CENTER);

validate();}

else {}}}

public void run() {

this.remove(tower);

infoArea.setText(null);

tower = new HannoiTower(diskNum, diskWidth, diskHeight, towerName, infoArea);

add(tower, BorderLayout.CENTER);validate();

tower.autoMoveDisk(diskNum, towerName[0], towerName[1], towerName[2]);}

public static void main(String args[]) {

new Tower();}}

java程序设计帮我分析一下每句话的意思好吗

说一下大致的吧:

1.import引入包,下面会用到

2.public class HandleMove extends JPanel implements

MouseListener,ActionListener {

//创建HandleMove类并继承JPanel并实现MouseListener,ActionLister接口

2. Point [][] point;

int spendTime=0;

javax.swing.Timer recordTime;

JTextField showTime;

VerifySuccess verify;

//声明变量,各个类型地,这里的变量类型就是引入包import

javax.swing.*; 这里的

3.HandleMove(){

recordTime=new javax.swing.Timer(1000,this);

showTime=new JTextField(16);

showTime.setEditable(false);

showTime.setHorizontalAlignment(JTextField.CENTER);

showTime.setFont(new Font("楷体_GB2312",Font.BOLD,16)); //设

置字体

JLabel hitMess=new JLabel("用鼠标单击方块",JLabel.CENTER);//

设置JLabel标签

hitMess.setFont(new Font("楷体_GB2312",Font.BOLD,18)); //设置

字体

add(hitMess); //添加到Jpanel面板

add(showTime); //添加到Jpanel面板

setBackground(Color.cyan); //设置面板背景颜色

}

//定义构造器,并创建各个组件

4.下面就是创建各类方法

用于实现各个功能点

Avalanche (Java) 歌词

歌曲名:Avalanche (Java)

歌手:Jo Privat

专辑:Dansez Avec Jo Privat

Manafest - Avalanche

Get me out, (out) get me out (out)

PREACHER, PREACHER what you got for me save my soul

See beneath, and clip my wings I'm not an angel

I try and try to be good, I've lied with pride I'm a crook

Turn the lights down, burning up the night now

Sign my life out, I'm sick of living here yo

If you can help choir boy ring the church bells

I'd turn back if I could, erase the pain if I could

But I'm an animal and I don't know if I can

Hey!!

Cause I'm the prodigal man of this avalanche

I'm going down, I'm going down, down

Hey!!!!

And if you turn me in

I'll confess my sins

I'm going down, I'm going down, down

Before I'm six feet deep

I'm washing my hands clean

Just get me out of this avalanche

You scared the junk-crap out of me man

The Ghost Rider, hold my soul tighter

Jehovah take the ropes I'm a

Fly a plane out of the atmosphere

I've attacked this fear

This scar still here

I'm going on to the end

I'm holding out to a friend

I'm going I'm going

I don't care

I cursed a lot

The worse, the black sheep of the lot

Christopher Scott prepare to meet God

Hey!!

Cause I'm the prodigal man of this avalanche

I'm going down, I'm going down, down

Hey!!!!

And if you turn me in

I'll confess my sins

I'm going down, I'm going down, down

Before I'm six feet deep

I'm washing my hands clean

Just get me out of this Avalanche

Get me out, OUT

Get me out, OUT

Just get me out of this avalanche

Get me out, OUT

Get me out, OUT

Just get me out of this...

You guided me when I was

Blind with pride a right off

Knocked me off my saddle

Sabotaged and overshadowed

Watched you chase a man down

Watched you raise a man out

Mercy on me, forever I'm free

Hey!!

Cause I'm the prodigal man of this avalanche

I'm going down, I'm going down, down

Hey!!!!

And if you turn me in

I'll confess my sins

I'm going down, I'm going down, down

Before I'm six feet deep

I'm washing my hands clean

Just get me out of this Avalanche

Get me out, OUT

Get me out, OUT

Just get me out of this avalanche

Get me out, OUT

Get me out, OUT

Just get me out of this...

javaendi的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaendi的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-10,除非注明,否则均为首码项目网原创文章,转载请注明出处。