天津市的王勇问:请问JAVA中两个字符串如何比较判断?
答:你可以试试下面这种方法:
equals
equalsIgnoreCase
上面两个返回的是bool。
compareTo
这个返回的是int ,返回0表示相等。
郑州市的刘波问:static声明有什么用?不用它声明有什么不同?
答:使用 public static type variable或者public static finall type variable可以定义全局变量和全局常量。Static方法是类方法与实例方法不同,各实例可统一调用相同的类方法。
成都市的傅军问:我想用rmi,结果程序写好后编译非常成功,但我不知道如何启动服务端程序和注册表。不知能否指点一下。
答:你可以试试这样做:
1.start RMI Bootstrap
start rmiregistry (windows NT)
rmiregistry& (solaris)
2.start server
java -D java.rmi.server.codbase = http://yourhost/..../yourcode
石家庄的庞绍熙问:我无法在IE5.0中显示用swing 编写的 applet。我在系统中已经安装了plug-in:c:\tools\javasoft\ 和jdk1.2.2 : c:\tools\jdk1.2.2\ 。我设置的环境变量为:
classpath=
C:\tools\IBMVJava3.0\eab\runtime30;
C:\Tools\jdk1.2.2\jre\lib\rt.jar;
C:\tools\jdk1.2.2\lib\tools.jar;
C:\tools\jdk1.2.2\lib\dt.jar;
C:\tools\jdk1.2.2\src.jar;
D:\saint\study\java test (存放applet程序)
path=
C:\tools\jdk1.2.2\bin;
C:\tools\IBMVJava3.0\eab\bin;
在浏览器中运行时,报出如下错信息:can not be instantiated。我不知道是什么原因,希望能够得到帮助。答:到Sun的网站上去下载一个JRE,安装到你的机器上以更新你的JVM ,再下载一个HTMLConver转换你的HTML代码就可以了。广州市的汤方梅问:现在我有一个用c语言编写的API,我需要在Java 的程序中调用这个API。请问我该怎么写这个API。要求既有源文件,又有Obj文件。答:具体过程不讲了,你试试用native方法吧。你可以在Java程序中定义一个native方法,再用javah 编译包含该native方法的.class文件。这样会生成.h的头文件,再用javah -stub [class文件]生成stub文件。然后你就可以include 刚才生成的.h文件,制作一个dll。汕头市的薛建荣问:想在JAVA应用程序中调用C++写的DLL,该如何着手?答:如果你有该 DLL 的源码,你可以按照 Java 中 native 库的编写办法,首先写出程序框架,然后生成头文件,最后按照头文件改写原来的 C/C++ 程序,重新编译生成新结构的 DLL。如果有源码的话,改写这一步应该还是可行的。上海市的梁平问: 有没有办法在load一个applet的时候在applet区域显示其进度?答:如果准备显示在状态条上,你可以试试这种实现方法:public class test extends applet {public void init() {showStatus("Loading applet...");}}如果想显示在Applet load 区内,则可以试试这种实现方法:import java.applet.Applet;import java.awt.Graphics;public class Simple extends Applet {StringBuffer buffer;public void init() {buffer = new StringBuffer();addItem("initializing... ");}public void start() {addItem("starting... ");}public void stop() {addItem("stopping... ");}public void destroy() {addItem("preparing for unloading...");}void addItem(String newWord) {System.out.println(newWord);buffer.append(newWord);repaint();}public void paint(Graphics g) {//Draw a Rectangle around the applet's display area.g.drawRect(0, 0, size().width - 1, size().height - 1);//Draw the current string inside the rectangle.g.drawString(buffer.toString(), 5, 15);}南宁市的周重亿问:我想让打开的文件对话框不去选择一个文件而是去选择一个目录,确定后可以返回该目录的完整路径。我该怎么办?答:你可以先选择文件,再返回文件所在的目录。或者写一个CLASS来继承JFILECHOOSET类。具体程序的编法限于篇幅我就不给出了。深圳市的路国德问:Java 程序中如何执行其他的程序? 使用了 exec() 之后,怎样才能使用 I/O redirection ?答:以UNIX 为例(Windows系统相似):import java.io.*;import java.util.*;class IoRedirect {public static void main(String Argv[]) {try {String[] command = {"/bin/sh", "-c", "/bin/lsout.dat"};Process p = Runtime.getRuntime().exec(command);p.waitFor();System.out.println("return code: " + p.exitValue());} catch (IOException e) {System.err.println("IO error: " + e);} catch (InterruptedException e1) {System.err.println("Exception: " + e1.getMessage());}}}北京市的张永林问:何处可以下载JSDK?答:你可以在这个地方找到JSDK:http://java.sun.com/products/servlet/download.html南昌市的朱捷问:如何用Java语言实现打印?答:如果你使用JDK1.1.X,可以试试这样做:#import java.awt.*;public class print{public static void main(String args[]){Frame f = new Frame("tet");f.pack( );PrintJob pj = f.getToolkit().getPrintJob(f, "print1", null);if( pj != null){Graphics g = pj.getGraphics( );g.fillOval(5,5,150,100);g.dispose( );pj.end();}System.exit(0);}}武汉市的赵嘉问:请问如何用beep() 函数?答:在循环语句里加入:Tookit.getDefaultTookit().beep(),就可以了。绵阳市的杨冰问:在windows98下装Apache1.3.9加jserv和GNUJSP1.0、JDK1.2.2、JSDK2.0时发现中文无法正常显示。要么出现乱码,要么出错。请问我该怎么办?答:你必须在安装中注意以下几点:1.修改区域设置:在控制面版中选择区域设置,设为英语(美国)。然后重新启动系统,一切就都正常了。2.在JSP页中加入一条语句:JSP显示就正常了。3.在编译servlet和JSP时加入代码选项。编译servlet使用Javac -encoding iso8859_1 myservlet.java在JSP的zone配置文件中,修改编译参数为:compiler=builtin-javac -encoding ISO8859_1使用这种方法后,不需要作其他的改动就可以正常显示中文了。4:在servlet源程序中加入代码变换语句。如try{out.println(new ( (new String("你好")).getBytes("GBK"),"ISO8859_1"))}catch( UnsupportedEncodingException e){.......}此外,使用这种方法一定要注意捕获Unsupported Encoding Exception是否异常。厦门市的李文华问:当用Servlet来处理http请求并产生返回的HTML页面时,如何使HTML页面中的中文字符能够正常显示?答:Javax.servlet.http.HttpResponse类用于产生返回页面。通过HttpResponse定义的方法getOutputStream()可以获得ServletOutputStream的实例,这样你就可以利用ServletOutputStream.write方法向输出流中写入返回页面的内容。但是ServletOutputStream使用的是缺省的编码方式,如果要使返回页面中的中文字符能够正常显示,最好显示地指定所用的字符编码方式。 通常需要构造一个 OutputStreamWriter。例程如下:public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{res.setContentType("text/html");ServletOutputStream out = res.getOutputStream();OutputStreamWriter ow = new OutputStreamWriter(out,"GB2312");ow.write("test");ow.flush();ow.close();}成都的刘波问:为什么我在Server端发出的汉字在Client端却成了乱码?答:如果是基于1.1API的,就应该用Reader和Writer,它们有内码unicode自动转换功能。如你的网络传输用的是BufferedReader与BufferedWriter,文件操作用的是FileReader与FileWriter或其他1.0API,采用1.1API就不会有问题了。