String可以排序的吧..
24个字母是死的吧...
2个字母的就,比了第一个,再比第二个.....
这个思路如何?
『贰』 java中如何建立一个java树,请详解
importjava.awt.*;
importjavax.swing.*;
classTreeDemoextendsJFrame
{
publicTreeDemo()
{
setSize(400,300);
setTitle("演示怎样使用JTree");
show();
jscrollPanejPanel=newJScrollPane();
getContentPane().add(jPanel);
JTreejtree=newJTree();
jPanel.getViewport().add(jtree,null);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
publicclassExample5_25
{
publicstaticvoidmain(String[]args)
{
TreeDemoframe=newTreeDemo();
}
}
其中JScrollPane是一个带滚动条的面板类。
将对象加入到带滚动条的面板类中,在将已建的数放入到其中。
就可建立一个系统默认的树结构。
『叁』 JAVA数据结构关于查找树的节点的代码分析
你好,递归调用简单的说就是自己无限的调用自己的下一级,也就是说父节点和子节点拥有相同的属性和方法,所以在处理玩当前节点也就是父节点的时候,就调用处理自身下面的子节点,类似于文件夹和文件,文件夹相对于当前目录来说是父节点,而他里面的子文件夹就相当于子节点,但是处理子文件夹的时候,子文件夹就成了父节点,一次递归处理完毕
希望可以帮助到你
『肆』 java编打出5行圣诞树,求教每一步详细思想。下面是代码
按照你的要求加详细注释的圣诞树Java程序如下:(编程思想在注释中说明)
publicclassShengDanShu2{
//这个程序的编程思想是利用对for循环变量i的控制达到一层循环代替双层循环的目的
publicstaticvoidmain(String[]args){
intn=5;//初始化打印圣诞树层数变量n
inta=0;//初始化打印前置空格数变量a
intb=0;//初始化打印星号数变量b
for(inti=1;i<=n;i++){//打印n层圣诞树
if(a!=(n-i)){//如果前置空格数不等于n-i
System.out.print("");//打印一个空格
a++;//前置空格数加一
i=i-1;//i变量减一目的是固定住i变量不变直到a==n-i
}elseif(b!=(2*i-1)){//如果星号数不等于2*i-1
System.out.print("*");//打印一个星号
b++;//星号数加一
i=i-1;//i变量减一目的是固定住i变量不变直到b==2*i-1
}elseif(a==(n-i)&&b==(2*i-1)){//当以上两个条件都满足时,换行初始化a和b为0
System.out.println();//打印换行
a=0;//对新的一行重新初始化前置空格数变量a
b=0;//对新的一行重新初始化打印星号数变量b
//这里没有控制for循环的i变量减一,因为这时i变量加一,开始新一行。
}
}
}
}运行结果:
 *
 ***
 *****
*******
*********
『伍』 哪位大侠可以帮我写一段java代码!是关于根据数据库里的数据来形成一个动态树形图
这是代码,你可以自己调试一下。
数据结构如下:
CREATE TABLE dtree (
id                int,
pid             int,
name          varchar(200),
url              varchar(200),
title             varchar(200),
target             varchar(200),
icon                varchar(200),
iconopen          varchar(200),
opened                bit);
为了实现获取数据库变量功能,需要建立一个DTree类,并编译生成CLASS文件,放入\WEB-INF\classes文件夹下。
DTree类代码如下:
package work3;
public class DTree {
private int id;
private int pid;
private String name;
private String url;
private String title;
private String target;
private String icon;
private String iconOpen;
private int opened;
public int getId() {
        return id;
}
public void setId(int id) {
        this.id = id;
}
public int getPid() {
        return pid;
}
public void setPid(int pid) {
        this.pid = pid;
}
public String getName() {
        return name;
}
public void setName(String name) {
        this.name = name;
}
public String getUrl() {
        return url;
}
public void setUrl(String url) {
        this.url = url;
}
public String getTitle() {
        return title;
}
public void setTitle(String title) {
        this.title = title;
}
public String getTarget() {
        return target;
}
public void setTarget(String target) {
        this.target = target;
}
public String getIcon() {
        return icon;
}
public void setIcon(String icon) {
        this.icon = icon;
}
public String getIconOpen() {
        return iconOpen;
}
public void setIconOpen(String iconOpen) {
        this.iconOpen = iconOpen;
}
public int getOpened() {
        return opened;
}
public void setOpened(int opened) {
        this.opened = opened;
}
}
work3.jsp代码如下:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id='settree' scope="application" class="work3.DTree" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
                <link rel="StyleSheet" href="dtree.css" type="text/css" />
                <script type="text/javascript" src="dtree.js"></script>
                <title>dTree in MySQL</title>
        </head>
        <body>
  
                <h2>
                        Example
                </h2>
                <div class="dtree">
                        <p>
                                <a href="javascript: d.openAll();">open all</a> |
                                <a href="javascript: d.closeAll();">close all</a>
                        </p>
                        <script type="text/javascript">
<!--
                d = new dTree('d');
                <%
                        //驱动程序名
                        String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
                        //数据库用户名
                        String userName = "sa";
                        //密码
                        String userPwd = "1";
                        //数据库名
                        String dbName = "master";
                        //表名
                        String tableName = "dtree";
                        //连接字符串
                        String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName="+dbName;
       //加载驱动
                        Class.forName(driverName).newInstance();
       //连接数据库
                        java.sql.Connection conn = DriverManager.getConnection(url,userName,userPwd);
       //得到Statement实例
                        java.sql.Statement statement = conn.createStatement();
       //查询数据
                        String sql = "select * from " + tableName;
       //返回结果
                        java.sql.ResultSet rs = statement.executeQuery(sql);
       //获取变量
                        while (rs.next()) {
                                settree.setId(rs.getInt(1));
                                settree.setPid(rs.getInt(2));
                                settree.setName(rs.getString(3));
                                settree.setUrl(rs.getString(4));
                                settree.setTitle(rs.getString(5));
                                settree.setTarget(rs.getString(6));
                                settree.setIcon(rs.getString(7));
                                settree.setIconOpen(rs.getString(8));
                                settree.setOpened(rs.getInt(9));       
                               if(settree.getPid()==0)
                                settree.setOpened(1);
                                %>
                                  d.add(<%=settree.getId()%>,<%=settree.getPid()%>,'<%=settree.getName()%>','<%=settree.getUrl()%>','<%=settree.getTitle()%>','<%=settree.getTarget()%>','','',<%=settree.getOpened()%>);
                                <%
                        }
                %>
document.write(d);
//-->
</script>
                </div>
        </body>
</html>
『陆』 说明生活中遇到的二叉树,用java实现二叉树. (求源码,要求简练、易懂。非常满意会额外加分)
import java.util.ArrayList;
// 树的一个节点
class TreeNode {
    Object _value = null; // 他的值
    TreeNode _parent = null; // 他的父节点,根节点没有PARENT
    ArrayList _childList = new ArrayList(); // 他的孩子节点
    public TreeNode( Object value, TreeNode parent ){
        this._parent = parent;
        this._value = value;
    }
    public TreeNode getParent(){
        return _parent;
    }
    public String toString() {
        return _value.toString();
    }
}
public class Tree {
    // 给出宽度优先遍历的值数组,构建出一棵多叉树
    // null 值表示一个层次的结束
    // "|" 表示一个层次中一个父亲节点的孩子输入结束
    // 如:给定下面的值数组:
    // { "root", null, "left", "right", null }
    // 则构建出一个根节点,带有两个孩子("left","right")的树
    public Tree( Object[] values ){
        // 创建根
        _root = new TreeNode( values[0], null );
        // 创建下面的子节点
        TreeNode currentParent = _root; // 用于待创建节点的父亲
        //TreeNode nextParent = null;
        int currentChildIndex = 0; // 表示 currentParent 是他的父亲的第几个儿子
        //TreeNode lastNode = null; // 最后一个创建出来的TreeNode,用于找到他的父亲
        for ( int i = 2; i < values.length; i++ ){
            // 如果null ,表示下一个节点的父亲是当前节点的父亲的第一个孩子节点
            if ( values[i] == null ){
                currentParent = (TreeNode)currentParent._childList.get(0);
                currentChildIndex = 0;
                continue;
            }
            // 表示一个父节点的所有孩子输入完毕
            if ( values[i].equals("|") ){
                if ( currentChildIndex+1 < currentParent._childList.size() ){
                    currentChildIndex++;
                    currentParent = (TreeNode)currentParent._parent._childList.get(currentChildIndex);
                }
                continue;
            }
            TreeNode child = createChildNode( currentParent, values[i] );
        }
    }
    TreeNode _root = null;
    public TreeNode getRoot(){
        return _root;
    }
/**
    // 按宽度优先遍历,打印出parent子树所有的节点
    private void printSteps( TreeNode parent, int currentDepth ){
        for ( int i = 0; i < parent._childList.size(); i++ ){
            TreeNode child = (TreeNode)parent._childList.get(i);
            System.out.println(currentDepth+":"+child);
        }
        if ( parent._childList.size() != 0 )    System.out.println(""+null);// 为了避免叶子节点也会打印null
        //打印 parent 同层的节点的孩子
        if ( parent._parent != null ){ // 不是root
            int i = 1;
            while ( i < parent._parent._childList.size() ){// parent 的父亲还有孩子
                TreeNode current = (TreeNode)parent._parent._childList.get(i);
                printSteps( current, currentDepth );
                i++;
            }
        }
// 递归调用,打印所有节点
        for ( int i = 0; i < parent._childList.size(); i++ ){
            TreeNode child = (TreeNode)parent._childList.get(i);
            printSteps( child, currentDepth+1 );
        }
    }
    // 按宽度优先遍历,打印出parent子树所有的节点
    public void printSteps(){
        System.out.println(""+_root);
        System.out.println(""+null);
        printSteps(_root, 1 );
    }**/
    // 将给定的值做为 parent 的孩子,构建节点
    private TreeNode createChildNode( TreeNode parent, Object value ){
        TreeNode child = new TreeNode( value , parent );
        parent._childList.add( child );
        return child;
    }
    public static void main(String[] args) {
        Tree tree = new Tree( new Object[]{ "root", null,
                              "left", "right", null,
                              "l1","l2","l3", "|", "r1","r2",null } );
        //tree.printSteps();
        System.out.println(""+ ( (TreeNode)tree.getRoot()._childList.get(0) )._childList.get(0) );
        System.out.println(""+ ( (TreeNode)tree.getRoot()._childList.get(0) )._childList.get(1) );
        System.out.println(""+ ( (TreeNode)tree.getRoot()._childList.get(0) )._childList.get(2) );
        System.out.println(""+ ( (TreeNode)tree.getRoot()._childList.get(1) )._childList.get(0) );
        System.out.println(""+ ( (TreeNode)tree.getRoot()._childList.get(1) )._childList.get(1) );
    }
}
看一下吧!这是在网上找的一个例子!看对你有没有帮助!
『柒』 java 后台处理 list 为树HTML源码
构造treelist的过程可以使用递归查询获取,表结构如下
create table TB_TREE
(
id NUMBER not null,
name VARCHAR2(50),
parentId NUMBER //父节内点
)
Postgre Sql:
select 语句如下,oracle可以用 start with connect by prior实现类似功容能
WITH RECURSIVE r AS (
SELECT