「java定制类」java定制安装

博主:adminadmin 2022-12-19 10:54:07 66

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

本文目录一览:

怎么用java写一个类

一个java标准类的必备要素如下:

//定义类的归属,即包名

package com.test;

//定义类名,public关键字为可选,不过如果为public,则源文件必须与类名一致.

public class Test{

    //定义类属性

    private int id;

    //构造方法

    public Test(int id){

        this.id = id;

    }

    

    //get,set方法

    public void setId(int id){

        this.id = id;

    }

    

    public int getId(){

        return this.id;

    }

    

    //自定义方法

    public void doMethod(){

        //TODO 方法的返回值和参数,依据业务逻辑

    }

}

//以上为一个最简化的java类.可以增加静态方法,比如程序入口

java定制排序

文件名:Frame1.java

关键代码:

//选择排序法函数

public void select_Sort(int[] num)

{

int i,j,MX;

int temp;

for(i = 0; inum.length-1; i++)

{

MX = i ;

for(j = i+1 ; jnum.length; j++)

{

if(num[MX] num[j])

MX = j ;

}

temp = num[i];

num[i] = num[MX];

num[MX] = temp;

}

}

//插入排序函数

public void insert_Sort(int[] data)

{

int i,j,mx;

int key ;

for(i=1; i data.length -1; i++)

{

key = data[i];

mx = i;

for(j= i-1;j0;j--)

{

if(keydata[j])

{

data[j+1] = data[j];

mx = j ;

}

}

data[mx]=key;

}

}

全部代码

/////////////////////////

package mytest;

import java.awt.BorderLayout;

import java.awt.Dimension;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JLabel;

import java.awt.Rectangle;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.KeyAdapter;

import javax.swing.JOptionPane;

public class Frame1 extends JFrame {

JPanel contentPane;

JLabel jLabel1 = new JLabel();

JLabel jLabel2 = new JLabel();

JLabel jLabel3 = new JLabel();

JLabel jLabel4 = new JLabel();

JTextField txt1 = new JTextField();

JTextField txtOrder = new JTextField();

JButton btn2 = new JButton();

JTextField txt2 = new JTextField();

JTextField txtIn = new JTextField();

JButton btn1 = new JButton();

public Frame1() {

try {

setDefaultCloseOperation(EXIT_ON_CLOSE);

jbInit();

} catch (Exception exception) {

exception.printStackTrace();

}

}

/**

* Component initialization.

*

* @throws java.lang.Exception

*/

private void jbInit() throws Exception {

contentPane = (JPanel) getContentPane();

contentPane.setLayout(null);

setSize(new Dimension(457, 432));

setTitle("Frame Title");

jLabel1.setText("排序前");

jLabel1.setBounds(new Rectangle(30, 99, 59, 36));

jLabel2.setText("排序后(1)");

jLabel2.setBounds(new Rectangle(27, 183, 66, 36));

jLabel3.setText("排序后(2)");

jLabel3.setBounds(new Rectangle(29, 259, 76, 36));

jLabel4.setText("用户输入");

jLabel4.setBounds(new Rectangle(28, 35, 71, 36));

txt1.setBounds(new Rectangle(116, 182, 307, 33));

txtOrder.setBounds(new Rectangle(118, 106, 307, 37));

btn2.setBounds(new Rectangle(263, 327, 162, 42));

btn2.setText("插入排序");

btn2.addActionListener(new Frame1_btn2_actionAdapter(this));

txt2.setBounds(new Rectangle(118, 259, 307, 33));

txtIn.setText("请输入数字,并按回车键。一次只能输入一个数字");

txtIn.setBounds(new Rectangle(116, 37, 306, 39));

txtIn.addKeyListener(new Frame1_txtIn_keyAdapter(this));

btn1.setBounds(new Rectangle(28, 327, 162, 42));

btn1.setText("选择排序");

btn1.addActionListener(new Frame1_btn1_actionAdapter(this));

contentPane.add(jLabel4);

contentPane.add(jLabel1);

contentPane.add(txtOrder);

contentPane.add(jLabel2);

contentPane.add(txt1);

contentPane.add(jLabel3);

contentPane.add(txt2);

contentPane.add(txtIn);

contentPane.add(btn1);

contentPane.add(btn2);

}

int[] Number1=new int[10];

int[] Number2=new int[10];

int i=0;

public void txtIn_keyPressed(KeyEvent e) {

try{

if(e.getKeyChar()=='\n'){

Number1[i]=Integer.parseInt(txtIn.getText().trim());

Number2[i]=Integer.parseInt(txtIn.getText().trim());

String txt=txtOrder.getText().trim();

txtOrder.setText(txt+txtIn.getText().trim()+",");

txtIn.setText("");

txtIn.requestFocus(true);

if(++i10){

JOptionPane.showMessageDialog(this,"只能输入10个整数!");

txtIn.setText("");

return;

}

}

}catch(Exception ex){

JOptionPane.showMessageDialog(this,ex.getMessage());

txtIn.setText("");

ex.printStackTrace();

}

}

//选择排序法函数

public void select_Sort(int[] num)

{

int i,j,MX;

int temp;

for(i = 0; inum.length-1; i++)

{

MX = i ;

for(j = i+1 ; jnum.length; j++)

{

if(num[MX] num[j])

MX = j ;

}

temp = num[i];

num[i] = num[MX];

num[MX] = temp;

}

}

//选择排序按钮监听方法

public void btn1_actionPerformed(ActionEvent e) {

txt1.setText("");

select_Sort(Number1);//调用选择排序函数

for(int j=0;jNumber1.length;j++){

String txt=txt1.getText().trim();

txt1.setText(txt+Number1[j]+",");

}

}

//插入排序函数

public void insert_Sort(int[] data)

{

int i,j,mx;

int key ;

for(i=1; i data.length -1; i++)

{

key = data[i];

mx = i;

for(j= i-1;j0;j--)

{

if(keydata[j])

{

data[j+1] = data[j];

mx = j ;

}

}

data[mx]=key;

}

}

public void btn2_actionPerformed(ActionEvent e) {

txt2.setText("");

insert_Sort(Number2);

for(int j=0;jNumber2.length;j++){

String txt=txt2.getText().trim();

txt2.setText(txt+Number2[j]+",");

}

}

//主函数

public static void main(String[] arges){

Frame1 F=new Frame1();

F.setVisible(true);

}

}

class Frame1_btn2_actionAdapter implements ActionListener {

private Frame1 adaptee;

Frame1_btn2_actionAdapter(Frame1 adaptee) {

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e) {

adaptee.btn2_actionPerformed(e);

}

}

class Frame1_btn1_actionAdapter implements ActionListener {

private Frame1 adaptee;

Frame1_btn1_actionAdapter(Frame1 adaptee) {

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e) {

adaptee.btn1_actionPerformed(e);

}

}

class Frame1_txtIn_keyAdapter extends KeyAdapter {

private Frame1 adaptee;

Frame1_txtIn_keyAdapter(Frame1 adaptee) {

this.adaptee = adaptee;

}

public void keyPressed(KeyEvent e) {

adaptee.txtIn_keyPressed(e);

}

}

java中treeset定制排序和自然排序的区别

* TreeSet:

* 1.向TreeSet中添加的元素必须是同一个类的。

* 2.可以按照添加进集合中的元素的指定的顺序遍历。像String、包装类等默认按照从小到大的顺序遍历。

* 3.自然排序:当向TreeSet中添加自定义类的对象时,有两种排序方法:①自然排序 ②定制排序

* 4.自然排序:要求自定义类实现java.lang.Comparable接口并重写其compareTo(Object obj)

* 在此方法中,指明按照自定义类的哪个属性来排序。

*

* 5.向TreeSet中添加元素时,首先按照compareTo()进行比较,一旦返回0,虽然仅是两个对象的

* 此属性值相同,但是程序会认为这两个对象是相同的,进而后一个对象就不能添加进来。

*

* compareTo()与hashCode()以及equals()三者保持一致!

*

java类的里面可以再定义一个类吗

java类里面还可以定义一个类,即内部类。

java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类 。

内部类的共性

(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。

(2)、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的 。

(3)、内部类声明成静态的,就不能随便的访问外部类的成员变量了,此时内部类只能访问外部类的静态成员变量 。

关于java定制类和java定制安装的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

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