这些程序可以运行吗

yu520 2006-04-12 11:59:56
//===================Program Description========================
//程序名称:Bfs1.java
//程序目的:设计一个广度优先搜索法来搜索图形并生成 XML 文件的程序
//编程语言:Java
//运行环境:WinXP
//Written
//===========================================================

import java.io.*;
public class Bfs1
{
public static int VertexNum=11;
public static int[][] Graph=new int[VertexNum][VertexNum];
public static String line=new String();
public static String[] Label=
{"","Label1","Label2","Label3","Label4","Label5","Label6","Label7","Label8","Label9","La bel10"};
public static int[][] Level =new int[VertexNum][VertexNum];//记录子节点情况,看谁是谁的子节点
public static int[] NodeType=new int[VertexNum];//看节点类型是原子的还是复杂的
public static String[]AtomicData=
{"","","","","","Data5","Data6","Data7","Data8","Data9","Data10"};

public static void main(String args[])
{
int Source;
int Destination;
int i,j;
ConsoleReader console = new ConsoleReader(System.in);
for(i=0;i<VertexNum;i++)
for(j=0;j<VertexNum;j++)
Graph[i][j]=0;
while(true)
{
System.out.print("Please input the Edge's source(-1 for Exit):");
Source=console.readInt();
if(Source==-1)
break;
System.out.print("Please input the Edge's Destination:");
Destination=console.readInt();
if(Source==Destination)
System.out.println("@Error@: Self Loop!!");
else
{ if(Source>=VertexNum||Destination>=VertexNum)
System.out.println("@Error@: Out of range!!");
else
CreateMGraph(Source,Destination);
}
}
System.out.println("##Graph##");
PrintMGraph();
System.out.println("Brach-First-Search : ");
System.out.print("[BEGIN]==>");
BFS(1);

for(i=0;i<VertexNum;i++)
for(j=0;j<VertexNum;j++)
{
if(Graph[i][j]!=0)
NodeType[i]=1;
}//1 为复杂节点

System.out.println("[END]");

ToXml(1);
}
public static void BFS(int Vertex)
{
int Pointer;
QueueArray Data=new QueueArray();
int i;
Data.AddQueue(Vertex);
System.out.print("["+Vertex+"==>");
while(Data.Front != Data.Rear)
{
Vertex=Data.DelQueue();
for(i=1;i<VertexNum;i++)
{
if(Graph[Vertex][i]==1)
{
Data.AddQueue(i);

Level[i][Vertex]=1;// i 为 Vertex 的子节点

System.out.print("["+i+"]==>");

}
}
}
}

public static void PrintMGraph()
{
int i,j;
System.out.print("Vertice");
for(i=0;i<VertexNum;i++)
System.out.print(" "+i+" ");
System.out.println("");
for(i=0;i<VertexNum;i++)
{
System.out.print(" "+i+" ");
for(j=0;j<VertexNum;j++)
System.out.print(" "+Graph[i][j]+" ");
System.out.println("");
}
}
public static void CreateMGraph(int Vertice1,int Vertice2)
{
Graph[Vertice1][Vertice2]=1;
}

public static void ToXml(int i)
{
if(i==1)
System.out.println("<?xml version=\"1.0\"?>\n");
if(NodeType[i]==0)
System.out.print("<"+Label[i]+">"+AtomicData[i]);
else
{
System.out.println("<"+Label[i]+">");
for(int j=0;j<VertexNum;j++)
{
if(Level[j][i]==1)
ToXml(j);
}
}
System.out.println("</"+Label[i]+">");
}
}

class QueueArray
{
int MaxSize=10;
int[]AQueue=new int[MaxSize];
int Front=-1;
int Rear=-1;
public void Print()
{
int i;
System.out.print("The Queue Content:");
for(i=Front+1;i<Rear+1;i++)
System.out.print("["+AQueue[i]+"]");
System.out.println("");
}
public voidAddQueue(int Value)
{
int i;
if(Rear>=MaxSize)
System.out.println("The Queue is full!!");
else
{
Rear++;
AQueue[Rear]=Value;
}
}
public int DelQueue()
{
int Temp;
if(Front==Rear)
{
System.out.println("The stack is empty!!");
return -1;
}
Front++;
Temp=AQueue[Front];
return Temp;
}
}






//===================Program Description========================
//程序名称:WsPhisics1.java
//程序目的:为处理 HTML, XHTML, XML 和 XSL 文件提供函数而设计的类,具有//解 析,输入/输出,转换,清理文档的功能
//编程语言:Java //运行环境:WinXP
//Written
//===========================================================

// 引入解析 xml 文档的包
import org.xml.sax.*;
import org.w3c.dom.*;
import org.apache.xerces.dom.*;
import org.apache.xerces.parsers.*;
import org.apache.xml.serialize.*;
// 引入处理 XSL 转换的包
import org.apache.xalan.xslt.*;
import org.apache.xalan.xpath.*;
// 引入相关 java 包
import java.io.*;
import java.util.*;
import java.net.*;

public class Wsphisics1 {

public static Document parseXML(String url) throws WsException {
return parseXMLFURL(conString(url));
}//前两次调用 1

public static Document parseXMLFURL(URL url) throws WsException {
try {
URLConnection inConnection = url.openConnection();
InputSource is = new InputSource(inConnection.getInputStream());
return parseXMLFIS(is);
} catch (IOException ioe) {
throw new WsException("无法读取", ioe);
}
}//前两次调用 2

// 解析

private static Document parseXMLFIS(InputSource is) throws WsException {
Document doc = null;

try {
DOMParser parser = new DOMParser();
parser.parse(is);
doc = parser.getDocument();
} catch (IOException ioe) {
throw new WsException("无法读取", ioe);
} catch (SAXException saxe) {
throw new WsException("无法解析", saxe);
}
return doc;
}//前两次调用 3  第三次调用3

//转换
public static Document transXML(Document xmlDoc, Document xslDoc) throws WsException {
try {
XSLTInputSource xmlIn = new XSLTInputSource(xmlDoc);
XSLTInputSource xslIn = new XSLTInputSource(xslDoc);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
XSLTResultTarget xmlOut = new XSLTResultTarget(baos);

XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
processor.process(xmlIn, xslIn, xmlOut);
baos.close();
String result = baos.toString();

return parseXMLFS(result);
} catch (SAXException saxe) {
throw new WsException("无法转换", saxe);
} catch (IOException ioe) {
throw new WsException("无法转换", ioe);
}
}//第三次调用 1

public static Document parseXMLFS(String source) throws WsException {
InputSource is = new InputSource(new StringReader(source));
return parseXMLFIS(is); }//第三次调用 2

//输出

public static void outputXML(Document doc, String fileName) throws WsException {
try {
OutputFormat of = new OutputFormat(doc);
of.setIndenting(true);
File f = new File(fileName);
FileOutputStream fos = new FileOutputStream(f);
XMLSerializer serializer = new XMLSerializer(fos, of);
serializer.serialize(doc);
fos.close();
} catch (IOException ioe) {
throw new WsException("无法写入", ioe);
}
}// 第四次调用 1

private static URL conString(String url) throws WsException {
try {
return new URL(url);
} catch (MalformedURLException murle) {
throw new WsException(url + " 无效的 URL", murle);
}
}//前两次调用 2(并)

//利用 xsl 文件对 xml 文档进行转换,结果以 xml 文档形式输出

public static void main(String args[]) {
try {
Document xhtml = Wsphisics1.parseXML("file:///D:/ws/XML 与 XSL/ws.xml");
Document xsl = Wsphisics1.parseXML("file:///D:/ws/XML 与 XSL/ws.xsl");
Document xml = Wsphisics1.transXML(xhtml, xsl);
Wsphisics1.outputXML(xml,"result.xml");
} catch (WsException xmle) {
//运行
}
}
}

//用于 Wsphisics1 的异常管理类

import java.io.*;

public class WsException extends Exception {
private Exception innerException;

public WsException() { super(); innerException = null; }
public WsException(String message) { super(message); innerException = null; }
public WsException(String message, Exception innerException) {
super(message);
this.innerException = innerException;
}
public String getMessage() {
String message = super.getMessage() + "\n" +
(innerException == null ? "" : innerException.getMessage());
return message;
}

public void printStackTrace(PrintStream ps) {
super.printStackTrace(ps);
innerException.printStackTrace(ps);
}
}
...全文
186 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yu520 2006-04-12
  • 打赏
  • 举报
回复
我是菜鸟中的菜鸟 刚刚才接触这种语言 这是我在书上看见的例子 用来WEB数据挖掘的 不知道可不可以运行 帮帮我吧
yu520 2006-04-12
  • 打赏
  • 举报
回复
怎么没有高手回复呢 小女子恳请各位高手指点一下啦 感激不尽了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧