scanf( \ printf( \ for(i=2;i <=n;i++) while(n!=i) {
if(n%i==0) {
printf( \ n=n/i;
} else{ break; } }
printf( \ getch(); }
116. 用一个方法查出宜个数值类型数组的最大值,用递归方式实现 方法1
public class Test1 {
public static int a(int[] i,int j){ if(i.length-1>j){ if(i[j]>i[j+1]){ i[j+1]=i[j]; }
return a(i,j+1); }else{
return i[i.length-1]; } } }
方法2 -- 非递归
public static int test(int []num) { int x=0; int log = num.Length;for(intt=0;t
方法3 --- 递归 不改变原数组中的元素
public static int getMax(int[]a, int index,int max){ int len = a.length; if(len==1){
return a[len-1]; }
if(index==0){
max = a[index]; }
if(index==len){ return max; }
if(max
index++;
return getMax(a,index,max); }
// 测试
int max = getMax(new int[]{2,5,18,3,38,10,2},0,0); System.out.println(max);
117. JSP与SERVLET区别
JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
118. xmlhttprequest.open()里面有几个方法? XMLHttpRequest.open() 初始化 HTTP 请求参数 语法
open (method, url, async, username, password)
method 参数是用于请求的 HTTP 方法。值包括 GET、POST 和 HEAD。 ( 大小写不敏感 。
POST:用\方式发送数据,可以大到4MB GET:用\方式发送数据,只能256KB
如果请求带有参数的化实用POST方式,POST方式将参数放置在页面的隐藏控件内 没有参数使用GET方式
对于请求的页面在中途可能发生更改的,也最好用POST方式 )
url 参数是请求的主体。大多数浏览器实施了一个同源安全策略,并且要求这个 URL 与包含脚本的文本具有相同的主机名和端口。
async 参数指示请求使用应该异步地执行。如果这个参数是 false,请求是同步的,后续对 send() 的调用将阻塞,直到响应完全接收。
如果这个参数是 true 或省略,请求是异步的,且通常需要一个 onreadystatechange 事件句柄。
username 和 password 参数是可选的,为 url 所需的授权提供认证资格。如果指定了,它们会覆盖 url 自己指定的任何资格。
119. java优缺点
先说优点吧,比较显见一点
1.指针.
任何一个学过C或者C++的人都知道指针的操作对于他们是很重要的,为什么,指针能够支持内存的直接操作,这样的直接操作能够带来的是效率上的提高.但是任何一个东西都是有副作用的,指针给程序员带了的混乱也是无可比拟的.对于一个不是很强劲的C程序员而言,指针是要命的(对我而言也是,我几乎不会写C代码).而JAVA就为我们省去了这样的麻烦,或者说JAVA完整的限制了对内存的直接操作,让程序员能够安心去搞业务逻辑,而不用管自己后院的那堆内存有没有人来收拾.
2.垃圾回收
其实垃圾回收也是JAVA对于内存操作的限制之一,也大大解放了程序员的手脚.但是也正是这样的一个内存保姆的存在导致JAVA程序员在内存上几乎没有概念...一个纯粹的JAVA程序员对于内存泄露这样的问题是从来没有概念的,因为他从来不用担心,因为大多数情况下即便他大手大脚也不会有什么问题
3.平台无关性
平台无关性的真正意义在于程序的可移植性高,能够在多个平台平滑迁移。这点就特别适合网络应用。
好吧,然后我们再来看看缺点吧:
1效率
1.1当然首先就是内存操作限制带来安全的同时带来的副面效果了..... 1.2 其次呢,就是面对对象的一个很重要的特点所带来的——多态导致的。
1.3平台无关性带来的。由于需要平台无关,所以JAVA是不能直接调用OS的API的,JAVA需要调用自己的API来隐式地调用OS的API,大家可想而知这样的效果。多一层调用,必然多一层代码需要加载到栈内了。
2逆向编译问题
由于JAVA程序是动态连接的,从一个类到另外一个类的引用是符号化的。在静态连接的可执行程序中,类之间的只是直接的指针或者偏移量,。相反地,在JAVA class文件中,指向另一个类的引用通过字符串清楚地标明了所指向的类的名字。如果引用指向一个字段的话,这个字段的名字和描述符会被详细说明。如果引用指向一个成员变量,这个成员变量的名字和描述符(方法的返回类型,方法参数的数量和类型)也会被详细说明。
3 线程调度问题
Java虽然是一个总进程下的多线程,但是线程间的调度没有非常的清晰,由于为了能够支持多种系统的不同的线程支持策略,JAVA只能采取这样笼统而又松散的线程规范。
120. 写一个单例Signleton代码 public class Singleton { private Singleton(){};
private static Singleton singleton; @SuppressWarnings(\
private static Singleton getSingleton(){ if(singleton==null){
singleton=new Singleton(); }
return singleton; } }
121. Mvc各部分用什么实现? 视图层用jsp,javascript
作用--显示数据,接受用户输入数据 控制层用servlet
作用--接收视图层数据,传输 给业务逻辑层(即模型层) 模型层用普通javaBean
作用--业务类的实现,如:数据库操作
122. ejb是基于哪些技术实现的,和javabean的区别?
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现 EJB是一个关于用JAVA语言开发的可部署的服务器端组件的组件体系结构。它是一个技术协议,能使组件运行于任何应用服务器,专门用来解决商务问题JAVABEANS是JAVA类,是由属性、事件和方法组成的JAVA组件,它们可以用来组成JAVA应用程序
123. 适配器模式解释:
把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类 能够一起工作。适配类可以根据参数返还一个合适的实例给客户端
124. 进程和线程的区别:
线程是一种操作系统对象,代表着一个进程中要被执行的代码的路径。每一个WIN32应用程序至少有一个线程--通常称为住线程或默认线程--但应用程序可以自由地创建其他线程来执行其他任务!
进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程 线程是比进程更小的执行单位。一个进程在其执行过程能够中,可以产生 多个线程,形成多条执行线索。每条线索,即每个线程也有它自身的产生、存在和消亡过程,也是一个动态的概念 125.
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译)
126. 写一个程序,把一个文件的数组按对角线做对称变换,并输出!
一个正方形里面全数字,写一个程序,成对角线转变! 我做的这个是3行3列的对角互换,也许转换规则不一样
public class testMain {
public static void main(String[] args) { int a[][]=new int[3][3]; int c=1; //初始化数据
for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ a[i][j]=c++; }
}
System.out.println(\转换之前:\ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){
System.out.print(\ }
System.out.println(\ }
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if((i+1<3&&j+1<3)&&i==j&&i!=0&&i!=3-i){ int temp=a[i-1][j-1]; a[i-1][j-1]=a[i+1][j+1]; a[i+1][j+1]=temp; temp=a[i-1][j+1];
a[i-1][j+1]=a[i+1][j-1];
a[i+1][j-1]=temp; } } }
System.out.println(\转换之后:\ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out
print(\ }
System.out.println(\ } } }
127. 再SSH框架中,用流程表示处理过程。从Request, Response
128. 人民币小写转成大写,写个java程序和思路(写10100.00转成汉字壹万零壹百整)
public class Money {
public static void main(String[] args) { // 金额大小写转换
float money = 2038.0f;
int m1, m2, m3, m4, m5, m6, temp; temp = (int) (money * 100); System.out.println(money);
m1 = temp % 1000000 / 100000; m2 = temp % 100000 / 10000; m3 = temp % 10000 / 1000; m4 = temp % 1000 / 100; m5 = temp % 100 / 10; m6 = temp % 10;
char c1, c2, c3, c4, c5, c6;