资源简介
包含pdf文件和所有源代码。
本书揭示了Java程序员如何创建高质量软件的奥秘。Herbert Schildt和James Holmes两位编程大师通过将Java应用于某些有趣、实用的计算问题中,全面展示了Java语言的强大功能、敏捷性、多样性和艺术性。本书各章内容分别涉及到Java精髓、递归下降的表达式解析器、用Java实现语言解释器、用Java创建下载管理器、用Java实现E_mail客户端和Internet搜索、用Java修饰HTML、显示统计图表、金融应用中的Applet和Servlet、基于AI的问题求解等,每章给出的示例代码都可以直接运行,无需修改,相信读者能够通过研读本书大大提高自己的Java开发能力。
代码片段和文件信息
// Find connections using a breadth-first search.
import java.util.*;
import java.io.*;
// Flight information.
class FlightInfo {
String from;
String to;
int distance;
boolean skip; // used in backtracking
FlightInfo(String f String t int d) {
from = f;
to = t;
distance = d;
skip = false;
}
}
class Breadth {
final int MAX = 100;
// This array holds the flight information.
FlightInfo flights[] = new FlightInfo[MAX];
int numFlights = 0; // number of entries in flight array
Stack btStack = new Stack(); // backtrack stack
public static void main(String args[])
{
String to from;
Breadth ob = new Breadth();
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in));
ob.setup();
try {
System.out.print(“From? “);
from = br.readLine();
System.out.print(“To? “);
to = br.readLine();
ob.isflight(from to);
if(ob.btStack.size() != 0)
ob.route(to);
} catch (IOException exc) {
System.out.println(“Error on input.“);
}
}
// Initialize the flight database.
void setup()
{
addFlight(“New York“ “Chicago“ 900);
addFlight(“Chicago“ “Denver“ 1000);
addFlight(“New York“ “Toronto“ 500);
addFlight(“New York“ “Denver“ 1800);
addFlight(“Toronto“ “Calgary“ 1700);
addFlight(“Toronto“ “Los Angeles“ 2500);
addFlight(“Toronto“ “Chicago“ 500);
addFlight(“Denver“ “Urbana“ 1000);
addFlight(“Denver“ “Houston“ 1000);
addFlight(“Houston“ “Los Angeles“ 1500);
addFlight(“Denver“ “Los Angeles“ 1000);
}
// Put flights into the database.
void addFlight(String from String to int dist)
{
if(numFlights < MAX) {
flights[numFlights] =
new FlightInfo(from to dist);
numFlights++;
}
else System.out.println(“Flight database full.\n“);
}
// Show the route and total distance.
void route(String to)
{
Stack rev = new Stack();
int dist = 0;
FlightInfo f;
int num = btStack.size();
// Reverse the stack to display route.
for(int i=0; i < num; i++)
rev.push(btStack.pop());
for(int i=0; i < num; i++) {
f = (FlightInfo) rev.pop();
System.out.print(f.from + “ to “);
dist += f.distance;
}
System.out.println(to);
System.out.println(“Distance is “ + dist);
}
/* If there is a flight between from and to
return the distance of flight;
otherwise return 0. */
int match(String from String to)
{
for(int i=numFlights-1; i > -1; i--) {
if(flights[i].from.equals(from) &&
flights[i].to.equals(to) &&
!flights[i].skip)
{
flights[i].skip = true; // prevent reuse
return flights[i].distance;
}
}
return 0; // not found
}
// Given from find any connection.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 103062 2009-11-04 18:30 全书图片\00000001.jpg
文件 127216 2009-11-04 18:30 全书图片\00000002.jpg
文件 4100 2009-11-04 18:30 全书图片\00000003.tif
文件 24172 2009-11-04 18:30 全书图片\00000004.tif
文件 29020 2009-11-04 18:30 全书图片\00000005.tif
文件 7076 2009-11-04 18:30 全书图片\00000006.tif
文件 27362 2009-11-04 18:30 全书图片\00000007.tif
文件 7046 2009-11-04 18:30 全书图片\00000008.tif
文件 23800 2009-11-04 18:30 全书图片\00000009.tif
文件 23358 2009-11-04 18:30 全书图片\00000010.tif
文件 3610 2009-11-04 18:30 全书图片\00000011.tif
文件 16878 2009-11-04 18:30 全书图片\00000012.tif
文件 17866 2009-11-04 18:30 全书图片\00000013.tif
文件 18180 2009-11-04 18:30 全书图片\00000014.tif
文件 19442 2009-11-04 18:30 全书图片\00000015.tif
文件 19398 2009-11-04 18:30 全书图片\00000016.tif
文件 10438 2009-11-04 18:30 全书图片\00000017.tif
文件 25400 2009-11-04 18:30 全书图片\00000018.tif
文件 36286 2009-11-04 18:30 全书图片\00000019.tif
文件 34714 2009-11-04 18:30 全书图片\00000020.tif
文件 35920 2009-11-04 18:30 全书图片\00000021.tif
文件 30058 2009-11-04 18:30 全书图片\00000022.tif
文件 33776 2009-11-04 18:30 全书图片\00000023.tif
文件 31418 2009-11-04 18:30 全书图片\00000024.tif
文件 9460 2009-11-04 18:30 全书图片\00000025.tif
文件 27820 2009-11-04 18:30 全书图片\00000026.tif
文件 13996 2009-11-04 18:30 全书图片\00000027.tif
文件 24562 2009-11-04 18:30 全书图片\00000028.tif
文件 24560 2009-11-04 18:30 全书图片\00000029.tif
文件 23170 2009-11-04 18:30 全书图片\00000030.tif
............此处省略405个文件信息
评论
共有 条评论