1. 首頁
  2. 面試

java基礎面試題完整版

java基礎面試題(2012完整版)

141、JAVA 多執行緒程式設計。 用 JAVA 寫一個多執行緒程式,如寫四個執行緒,二個加 1,二個對一

個變數減一,輸出。

希望大家補上,謝謝

142、可能會讓你寫一段 Jdbc連Oracle 的.程式,並實現資料查詢.

答:程式如下:

package hello.ant;

import java.sql.*;

public class jdbc

{

String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";

String theUser="admin";

String thepw="manager";

Connection c=null;

Statement conn;

ResultSet rs=null;

public jdbc()

{

try{

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

c = DriverManager.getConnection(dbUrl,theUser,thepw); conn=c.createStatement();

}catch(Exception e){

e.printStackTrace();

}

}

public boolean executeUpdate(String sql)

{

---------- 16 ----------

*** JAVA面試題.txt ***

try

{

conn.executeUpdate(sql);

return true;

}

catch (SQLException e)

{

e.printStackTrace();

return false;

}

}

public ResultSet executeQuery(String sql)

{

rs=null;

try

{

rs=conn.executeQuery(sql);

}

catch (SQLException e)

{

e.printStackTrace();

}

return rs;

}

public void close()

{

try

{ conn.close();

c.close();

}

catch (Exception e)

{

e.printStackTrace();

}

}

public static void main(String[] args)

{

ResultSet rs;

jdbc conn = new jdbc();

rs=conn.executeQuery("select * from test");

try{

while (rs.next())

{

System.out.println(rs.getString("id"));

System.out.println(rs.getString("name"));

}

}catch(Exception e)

{

e.printStackTrace();

}

}

}

143、ORACLE 大資料量下的分頁解決方法。一般用擷取 ID方法,還有是三層巢狀方法。

答:一種分頁方法

<%< b="">

int i=1;

int numpages=14;

String pages = request.getparameter("page") ;

int currentpage = 1;

currentpage=(pages==null)?(1):{Integer.parseInt(pages)}

sql = "select count(*) from tables";

ResultSet rs = DBLink.executeQuery(sql) ;

while(rs.next()) i = rs.getInt(1) ;

int intpageCount=1;

intpageCount=(i%numpages==0)?(i/numpages):(i/numpages+1);

int nextpage ;

int uppage;

nextpage = currentpage+1; if (nextpage>=intpageCount) nextpage=intpageCount;

uppage = currentpage-1;

if (uppage<=1) uppage=1;

---------- 17 ----------

*** JAVA面試題.txt ***

rs.close();

sql="select * from tables";

rs=DBLink.executeQuery(sql);

i=0;

while((i

%>

//輸出內容

//輸出翻頁連線

合計:<%=currentpage%>/<%=intpagecount%>

上一頁

<%< b="">

for(int j=1;j<=intpagecount;j++){< b="">

if(currentpage!=j){

%>

<%< b="">

}else{

out.println(j);

}

}

%>

最後頁

144、用 jdom解析xml 檔案時如何解決中文問題?如何解析?

答:看如下程式碼,用編碼方式加以解決

package test;

import java.io.*;

public class DOMTest

{

private String inFile = "c:\\people.xml";

private String outFile = "c:\\people.xml";

public static void main(String args[])

{

new DOMTest();

}

public DOMTest()

{

try

{

javax.xml.parsers.DocumentBuilder builder =

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();

org.w3c.dom.Document doc = builder.newDocument();

org.w3c.dom.Element root = doc.createElement_x("老師");

org.w3c.dom.Element wang = doc.createElement_x("王");

org.w3c.dom.Element liu = doc.createElement_x("劉");

wang.appendChild(doc.createTextNode("我是王老師"));

root.appendChild(wang);

doc.appendChild(root);

javax.xml.transform.Transformer transformer =

javax.xml.transform.TransformerFactory.newInstance().newTransformer();

transformer.setOutputproperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");

transformer.setOutputproperty(javax.xml.transform.OutputKeys.INDENT, "yes");

transformer.transform(new javax.xml.transform.dom.DOMSource(doc),

new

javax.xml.transform.stream.StreamResult(outFile));

---------- 18 ----------

*** JAVA面試題.txt ***

}

catch (Exception e)

{

System.out.println (e.getMessage());

}

}

}

145、程式設計用JAVA 解析 XML 的方式.

答:用 SAX方式解析XML,XML檔案如下:

王小明

資訊學院

6258113

男,1955 年生,博士,95 年調入海南大學

事件回撥類SAXHandler.java

import java.io.*;

import java.util.Hashtable;

import org.xml.sax.*;

public class SAXHandler extends HandlerBase

{

private Hashtable table = new Hashtable(); private String currentElement = null;

private String currentValue = null;

public void setTable(Hashtable table)

{

this.table = table;

}

public Hashtable getTable()

{

return table;

}

public void startElement(String tag, AttributeList attrs)

throws SAXException

{

currentElement = tag;

}

public void characters(char[] ch, int start, int length)

throws SAXException

{

currentValue = new String(ch, start, length);

}

public void endElement(String name) throws SAXException

{

if (currentElement.equals(name))

table.put(currentElement, currentValue);

}

} JSp內容顯示原始碼,SaxXml.jsp:

剖析XML檔案people.xml

<%@ page errorpage="Errpage.jsp"

contentType="text/html;charset=GB2312" %>

<%@ page="" import="java.io.*">

<%@ page="" import="java.util.Hashtable">

<%@ page="" import="org.w3c.dom.*">

<%@ page="" import="org.xml.sax.*">

<%@ page="" import="javax.xml.parsers.SAXparserFactory">

<%@ page="" import="javax.xml.parsers.SAXparser">

<%@ page="" import="SAXHandler">

<%< b="">

File file = new File("c:\\people.xml");

FileReader reader = new FileReader(file);

parser parser;

SAXparserFactory spf = SAXparserFactory.newInstance();

SAXparser sp = spf.newSAXparser();

SAXHandler handler = new SAXHandler();

sp.parse(new InputSource(reader), handler);

---------- 19 ----------

*** JAVA面試題.txt ***

Hashtable hashTable = handler.getTable();

out.println("


教師資訊表");

out.println("


姓名" + "

" +

(String)hashTable.get(new String("name")) + "");

out.println("


學院" + "

" +

(String)hashTable.get(new String("college"))+"");

out.println("


電話" + "

" +

(String)hashTable.get(new String("telephone&