1、华为Java面试题集第3部分编程题1现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset答案(1)public static String splitStringByComma(String source) if(source=null|source.trim().equals() return null; StringTokenizer commaToker =new StringTokenizer(source,); String result = new StringcommaToker.countTokens(); int
2、 i=0; while(commaToker.hasMoreTokens() resulti = commaToker.nextToken(); i+; return result;循环遍历String数组Integer.parseInt(String s)变成int类型组成int数组Arrays.sort(int a),a数组升序降序可以从尾部开始输出2金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)(一千零一拾一元整)输出。3、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?答:父类:package test;public class FatherClassp
3、ublic FatherClass()System.out.println(FatherClass Create);子类:package test;import test.FatherClass;public class ChildClass extends FatherClasspublic ChildClass()System.out.println(ChildClass Create);public static void main(String args)FatherClass fc = new FatherClass();ChildClass cc = new ChildClass(
4、);输出结果:C:java test.ChildClassFatherClass CreateFatherClass CreateChildClass Create4、内部类的实现方式?答:示例代码如下:package test;public class OuterClass* class InterClasspublic InterClass()System.out.println(InterClass Create);public OuterClass()InterClass ic = new InterClass();System.out.println(OuterClass Creat
5、e);public static void main(String args)OuterClass oc = new OuterClass();输出结果:C:java test/OuterClassInterClass CreateOuterClass Create再一个例题:public class OuterClass * double d1 = 1.0;/insert code hereYou need to insert an inner class declaration at line 3. Which two inner class declarations arevalid?(
6、Choose two.)A. class InnerOnepublic static double methoda() return d1;B. public class InnerOnestatic double methoda() return d1;C. * class InnerOnedouble methoda() return d1;D. static class InnerOneprotected double methoda() return d1;E. abstract class InnerOnepublic abstract double methoda();说明如下:一
7、.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。故 D 错三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确四.答案为C、E5、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?答:Server端程序:package test;import .*;import java.io.*;public class Server* ServerSocket ss;* Socket socket;*
8、 BufferedReader in;* PrintWriter out;public Server()tryss=new ServerSocket(10000);while(true)socket = ss.accept();String RemoteIP = socket.getInetAddress().getHostAddress();String RemotePort = :+socket.getLocalPort();System.out.println(A client come in!IP:+RemoteIP+RemotePort);in = new BufferedReade
9、r(newInputStreamReader(socket.getInputStream();String line = in.readLine();System.out.println(Cleint send is : + line);out = new PrintWriter(socket.getOutputStream(),true);out.println(Your Message Received!);out.close();in.close();socket.close();catch (IOException e)out.println(wrong);public static
10、void main(String args)new Server();Client端程序:package test;import java.io.*;import .*;public class ClientSocket socket;BufferedReader in;PrintWriter out;public Client()trySystem.out.println(Try to Connect to 127.0.0.1:10000);socket = new Socket(127.0.0.1,10000);System.out.println(The Server Connected
11、!);System.out.println(Please enter some Character:);BufferedReader line = new BufferedReader(newInputStreamReader(System.in);out = new PrintWriter(socket.getOutputStream(),true);out.println(line.readLine();in = new BufferedReader(new InputStreamReader(socket.getInputStream();System.out.println(in.re
12、adLine();out.close();in.close();socket.close();catch(IOException e)out.println(Wrong);public static void main(String args)new Client();6、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?如在COLLECTION框架中,实现比较要实现什么样的接口?答:用插入法进行排序代码如下package test;import java.util.*;class InsertSortArrayList al;public InsertSort(int num,in
13、t mod)al = new ArrayList(num);Random rand = new Random();System.out.println(The ArrayList Sort Before:);for (int i=0;inum ;i+ )al.add(new Integer(Math.abs(rand.nextInt() % mod + 1);System.out.println(al+i+=+al.get(i);public void SortIt()Integer tempInt;int MaxSize=1;for(int i=1;i=(Integer)al.get(Max
14、Size-1).intValue()al.add(MaxSize,tempInt);MaxSize+;System.out.println(al.toString(); else for (int j=0;j=tempInt.intValue()al.add(j,tempInt);MaxSize+;System.out.println(al.toString();break;System.out.println(The ArrayList Sort After:);for(int i=0;ial.size();i+)System.out.println(al+i+=+al.get(i);pub
15、lic static void main(String args)InsertSort is = new InsertSort(10,100);is.SortIt();JAVA类实现序例化的方法是实现java.io.Serializable接口Collection框架中实现比较要实现Comparable 接口和 Comparator 接口7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如我ABC4,应该截为我AB,输入我ABC汉DEF,6,应该输出为我ABC而不是我ABC+汉的半个。答:代码如下:package test;cla
16、ss SplitStringString SplitStr;int SplitByte;public SplitString(String str,int bytes)SplitStr=str;SplitByte=bytes;System.out.println(The String is:+SplitStr+;SplitBytes=+SplitByte);public void SplitIt()int loopCount;loopCount=(SplitStr.length()%SplitByte=0)?(SplitStr.length()/SplitByte):(SplitStr.len
17、gth()/SplitByte+1);System.out.println(Will Split into +loopCount);for (int i=1;i=loopCount ;i+ )if (i=loopCount)System.out.println(SplitStr.substring(i-1)*SplitByte,SplitStr.length(); else System.out.println(SplitStr.substring(i-1)*SplitByte,(i*SplitByte);public static void main(String args)SplitStr
18、ing ss = new SplitString(test中dd文dsaf中男大3443n中国43中国人0ewldfls=103,4);ss.SplitIt();8、JAVA多线程编程。 用JAVA写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出。希望大家补上,谢谢9、STRING与STRINGBUFFER的区别。答:STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法Jsp方面1、js
19、p有哪些内置对象?作用分别是什么?答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):request 用户端请求,此请求会包含来自GET/POST请求的参数response 网页传回用户端的回应pageContext 网页的属性是在这里管理session 与请求有关的会话期application servlet 正在执行的内容out 用来传送回应的输出config servlet的构架部件page JSP网页本身exception 针对错误网页,未捕捉的例外2、jsp有哪些动作?作用分别是什么?答:JSP共有以下6种基本动作jsp:include:在页面被请求的时候引入一个文
20、件。jsp:useBean:寻找或者实例化一个JavaBean。jsp:setProperty:设置JavaBean的属性。jsp:getProperty:输出某个JavaBean的属性。jsp:forward:把请求转到一个新的页面。jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记3、JSP中动态INCLUDE与静态INCLUDE的区别?答:动态INCLUDE用jsp:include动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面4、两种跳转方式
21、分别是什么?有什么区别?答:有两种,分别为:前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。Servlet方面1、说一说Servlet的生命周期?答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。2、Servlet版本间(忘了问的是哪两个版本了)的不同?希望大家补上,谢谢3、JAVA SERVLET API中
22、forward() 与redirect()的区别?答:前者仅是容器中控制权的转向,在客户端浏览器XXX栏中不会显示出转向后的XXX;后者则是完全的跳转,浏览器将会得到跳转的XXX,并重新发送请求链接。这样,从浏览器的XXX栏中可以看到跳转后的链接XXX。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。4、Servlet的基本架构public class ServletName extends bbbServlet public void
23、doPost(bbbServletRequest request, bbbServletResponse response) throwsServletException, IOException public void doGet(bbbServletRequest request, bbbServletResponse response) throwsServletException, IOException Jdbc、Jdo方面1、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询.答:程序如下:package hello.ant;import java.sql.*;publi
24、c class jdbcString 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()tryClass.forName(oracle.jdbc.driver.OracleDriver).newInstance();c = DriverManager.getConnection(dbUrl,theUser,thePw);conn=c.createSt
25、atement();catch(Exception e)e.printStackTrace();public boolean executeUpdate(String sql)tryconn.executeUpdate(sql);return true;catch (SQLException e)e.printStackTrace();return false;public ResultSet executeQuery(String sql)rs=null;tryrs=conn.executeQuery(sql);catch (SQLException e)e.printStackTrace(
26、);return rs;public void close()tryconn.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);trywhile (rs.next()System.out.println(rs.getString(id);System.out.println(rs.getString(name
27、);catch(Exception e)e.printStackTrace();2、Class.forName的作用?为什么要用?答:调用该访问返回一个以字符串指定类名的类的对象。3、Jdo是什么?答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。J
28、DBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。4、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。答:一种分页方法%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;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2