导航:首页 > 编程语言 > 最强编程44题及答案

最强编程44题及答案

发布时间:2023-02-21 07:33:25

❶ 高分急求C语言编程题的答案!!!!!!!

第一题:
#include <stdio.h>
int isPrime(int n);
void main(){
int count=0;
int i=0;
for(i=301;i<=400;i++){
if(isPrime(i)){
printf("%d ",i);
count++;
}
}
printf("\n%d\n",count);
}

int isPrime(int n){
int i=0;
if(n==2)
return 1;
for(i=2;i<n;i++)
if(n%i==0)
return 0;
return 1;
}

第二题:
#include <stdio.h>
#define MAX_SIZE 100
void main(){
int i=0;
char ch[MAX_SIZE]={'\0'};
int english=0;
int number=0;
gets(ch);
while(ch[i]!='\0'){
if((ch[i]>='a'&&ch[i]<='z') || (ch[i]>='A'&&ch[i]<='Z'))
english++;
else if(ch[i]>='0'&&ch[i]<='9')
number++;
i++;
}
printf("%d %d\n",english,number);
}
第三题:
#include <stdio.h>
int fib(int,int ,int);
void main(){
int i=0;
float sum=0;
for(i=1;i<=10;i++){
sum += (float)fib(i,2,3)/fib(i,1,2);
}
printf("%f\n",sum);
}

int fib(int n,int first,int second){
int i=0;
if(n==1)
return first;
else if(n==2)
return second;
else
return fib(n-1,first,second)+fib(n-2,first,second);
}

第四题:
#include <stdio.h>
/*Sunday Monday Tuesday Wednesday Thursday Friday Saturday*/
void main(){
char ch;
printf("please input the first letter : ");
scanf("%c",&ch);
getchar();
switch(ch){
case 'm' :
case 'M' :
printf("Monday\n");
break;
case 'w' :
case 'W' :
printf("Wednesday\n");
break;
case 'f' :
case 'F' :
printf("Wednesday\n");
break;
case 't' :
case 'T' :
printf("please input the second letter : ");
scanf("%c",&ch);
if(ch=='u'||ch=='U')
printf("Tuesday\n");
else if(ch=='h'||ch=='H')
printf("Thursday\n");
break;
case 's' :
case 'S' :
printf("please input the second letter : ");
scanf("%c",&ch);
if(ch=='u'||ch=='U')
printf("Sunday\n");
else if(ch=='a'||ch=='A')
printf("Saturday\n");
break;
}
}
未完,待续,算了,我直接把剩下的发到你邮箱吧

❷ c语言编程题!字符串复制。输入一个字符串,把它复制到一个字符数组中,并输出。

#include <stdio.h>

int main()

{

char a[100] = "",b[100] = "";

int i = 0;

printf("输入一行字符: ");

scanf("%s",a);

for(i = 0;a[i] != '';i++){

b[i] = a[i];

}

printf("%s ",b);

return 0;

}

(2)最强编程44题及答案扩展阅读:

使用scanf()函数需要注意的问题:

1.对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。

2.可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。

3.scanf函数中没有类似printf的精度控制。

如:scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。

4.scanf中要求给出变量地址,如给出变量名则会出错

如:scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。

5.在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。

C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。

6.在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

java面试题

java面试笔试题大汇总

JAVA相关基础知识
1、面向对象的特征有哪些方面
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
3、int 和 Integer 有什么区别
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
4、String 和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
5、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6、说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
7、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
9、Collection 和 Collections的区别。
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
10、&和&&的区别。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
11、HashMap和Hashtable的区别。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
12、final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
13、sleep() 和 wait() 有什么区别?
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
15、error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
17、abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
18、heap和stack有什么区别。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。
堆是栈的一个组成元素
19、forward 和redirect的区别
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
20、EJB与JAVA BEAN的区别?
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
21、Static Nested Class 和 Inner Class的不同。
Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
22、JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
23、什么时候用assert。
assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。
27、String s = new String("xyz");创建了几个String Object?
两个
29、Java有没有goto?
java中的保留字,现在没有在java中使用。
30、启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。
32、应用服务器有那些?
BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application Server,jBoss,Tomcat
34、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
35、List, Set, Map是否继承自Collection接口?
List,Set是,Map不是
38、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。String有有length()这个方法。
39、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
40、构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
41、是否可以继承String类?
String类是final类故不可以继承。
42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
43、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。
44、编程题: 用最有效率的方法算出2乘以8等于几?
2 << 3
45、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。
46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
47、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。
53、你所知道的集合类都有哪些?主要方法?
最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。
Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。
55、char型变量中能不能存贮一个中文汉字?为什么?
能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
56、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify
57、JSP的内置对象及方法。
request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)
out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息
applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。
page表示从该页面产生的一个servlet实例
58、线程的基本概念、线程的基本状态以及状态之间的关系
线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。
Java中的线程有四种状态分别是:运行、就绪、挂起、结束。
60、什么情况下调用doGet()和doPost()?
Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。
61、servlet的生命周期
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
62、如何现实servlet的单线程模式
<%@ page isThreadSafe="false"%>
63、页面间对象传递的方法
request,session,application,cookie等
64、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
65、四种会话跟踪技术
会话作用域ServletsJSP 页面描述
page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面
request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域
66、Request对象的主要方法:
setAttribute(String name,Object):设置名字为name的request的参数值
getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例
getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组
getCharacterEncoding():返回请求中的字符编码方式
getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String name):获得有name指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
67、J2EE是技术还是平台还是框架?
J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
68、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
Public String translate (String str) {
String tempStr = "";
try {
tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
tempStr = tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;
}
69、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。
区别主要答两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型
76、bean 实例的生命周期
对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。

❹ java编程题

==================Common.java==================================
package ;

public interface Common {

int DISTANCE = 1000;

float computeTime(int a,int b,int c);

}
========================Plane.java===============================
package ;

public class Plane implements Common {

public float computeTime(int a, int b, int c) {
// TODO Auto-generated method stub
float speed = a + b + c;

return DISTANCE/speed;
}

}
===========================Car007.java=============================
package ;

public class Car007 implements Common {

public float computeTime(int a, int b, int c) {
// TODO Auto-generated method stub
float speed = a*b/(float)c;

return DISTANCE/speed;
}

}
============================ComputeTime.java========================
package ;

public class ComputeTime {

/**
* @param args
*/
static String packageName = "";
static String className;
static int a,b,c;

public static void main(String[] args) {
// TODO Auto-generated method stub
try{
className = args[0];
a = Integer.parseInt(args[1]);
b = Integer.parseInt(args[2]);
c = Integer.parseInt(args[3]);
}catch(Exception e){
System.out.println("请输入正确的参数:className a b c");
System.exit(0);
}
Common common = null;
try {
common = (Common) Class.forName(packageName + "." + className).newInstance();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("请检查输入的className");
e.printStackTrace();
System.exit(0);
}

System.out.println(className + "所需要的时间是:" + common.computeTime(a, b, c));
}

}

❺ 数控编程试题及答案

数控综合试题库
一填空题

1.数控系统的发展方向将紧紧围绕着 性能 、 价格 和 可靠性 三大因素进行。

2.加工中心按主轴在空间所处的状态可以分为 立式 、 卧式 和 复合式 。

3.数控机床的导轨主要有 滑动 、 滚动 、 静压 三种。

4.数控机床的类别大致有 开环 、 闭环 、 半闭环 。

5.按车床主轴位置分为 立式 和 卧式 。

6.世界上第一台数控机床是 1952 年 PARSONS公司 与 麻省理工学院 合作研究的 三 坐标 数控铣 床。

7.数控电加工机床主要类型有 点火花成型 和 线切割机床 。

8.铣削各种允许条件下,应尽量选择直径较 大 的铣刀,尽量选择刀刃较 短 的铣刀。

9.合适加工中心的零件形状有 平面 、 曲面 、 孔 、 槽等 。

10.数控加工程序的定义是按规定格式描述零件 几何形状 和 加工工艺 的数控指令集。

11.常用夹具类型有 通用 、 专用 、 组合 。

13.基点是构成轮廓的不同几何素线的 交点 或 切点 。

14.加工程序单主要由 程序体 和 注释 两大部分构成。

15.自动编程又称为 计算机辅助编程 。其定义是:利用计算机和相应的 前置 、 后置 处理程序对零件进行处理,以得到加工程序单和数控穿孔的一种编程方法。

16.按铣刀形状分有 盘铣刀 、 圆柱铣刀 、 成形铣刀 、 鼓形刀铣

17.按走丝快慢,数控线切割机床可以分为 快走丝 和 慢走丝 。

18.数控机床实现插补运算较为成熟并得到广泛应用的是 直线 插补和 圆弧 插补。

18.穿孔带是数控机床的一种控制介质,国际上通用标准是 ISO 和 EIA 两种,我国采用的标准是ISO。

19.自动编程根据编程信息的输入与计算机对信息的处理方式不同,分为以 自动编程语言 为基础的自动编程方法和以 计算机绘图语言 为基础的自动编程方法。

20.数控机床按控制运动轨迹可分为 点位控制 、 直线控制 和 轮廓控制 等几种。按控制方式又可分为 开环 、 闭环 和半闭环控制等

21.对刀点既是程序的 起点 ,也是程序的 终点 。为了提高零件的加工精度,对刀点应尽量选在零件的 设计 基准或工艺基准上。

22.在数控加工中,刀具刀位点相对于工件运动的轨迹称为 加工 路线。

23.在轮廓控制中,为了保证一定的精度和编程方便,通常需要有刀具 长度 和 半径 补偿功能。

24.编程时的数值计算,主要是计算零件的 基点 和节点 的坐标或刀具中心轨迹的 节点 和 结点 的坐标。直线段和圆弧段的交点和切点是 基点 ,逼近直线段和圆弧小段轮廓曲线的交点和切点是 节点 。

25.切削用量三要素是指主轴转速(切削速度)、切削深度 、 进给量 。对于不同的加工方法,需要不同的 切削用量 ,并应编入程序单内。

26.端铣刀的主要几何角度包括前角、后角、刃倾角 、主偏角、和副偏角。

27.工件上用于定位的表面是确定工件位置的依据,称为定位基准 。

28.切削用量中对切削温度影响最大的 切削速度 ,其次是 进给量,而 切削深度 影响最小。

29.为了降低切削温度,目前采用的主要方法是切削时冲注切削液。切削液的作用包括冷却、

润滑、防锈 和清洗作用。

30.在加工过程中,定位基准的主要作用是保证加工表面之间的相互位置精度。

31.铣削过程中所用的切削用量称为铣削用量,铣削用量包括铣削宽度、铣削深度、铣削速度、进给量。

32.钻孔使用冷却润滑时,必须在钻锋吃入金属后,再开始浇注。

33.铣刀的分类方法很多,若按铣刀的结构分类,可分为整体铣刀、镶齿铣刀和机夹式铣刀。

34.切削液的种类很多,按其性质可分为3大类:水溶液、乳化液 、切削油。

35.按划线钻孔时,为防止钻孔位置超差,应把钻头横刃磨短 ,使其定心良好或者在孔中心先钻一定位小孔。

36.当金属切削刀具的刃倾角为负值时,刀尖位于主刀刃的最高点,切屑排出时流向工件待加工 表面。

37.切削加工时,工件材料抵抗刀具切削所产生的阻力称为切削力 。

38.切削塑性材料时,切削层的金属往往要经过挤压、滑移、挤裂、和切离 4个阶段。

39.工件材料的强度和硬度较低时,前角可以选得大 些;强度和硬度较高时,前角选得小 些。

40.常用的刀具材料有碳素工具钢、合金工具钢、高速钢、硬质合金4种。

41.影响刀具寿命的主要因素有:工件材料、刀具材料、刀具几何参数、切削用量 。

42.斜楔、螺旋、凸轮等机械夹紧机构的夹紧原理是利用机械摩擦的自锁来夹紧工件 。

43.一般机床夹具主要由定位元件、夹紧元件 、对刀元件、夹具体 4个部分组成。根据需要夹具还可以含有其他组成部分,如分度装置、传动装置等。

44.采用布置恰当的6个支承点来消除工件6个自由度的方法,称为 六点定位。

45.工件在装夹过程中产生的误差称为装夹误差、定位误差及基准不重合 误差。

46.在切削塑性金属材料是,常有一些从切屑和工件上带来的金属“冷焊”在前刀面上,靠

近切削刃处形成一个硬度很高的楔块即积屑瘤

47.作用在工艺系统中的力,有切削力、夹紧力、构件及工件的重力以及运动部件产生的惯性力。

48.能消除工件6个自由度的定位方式,称为完全定位。

49.在刀具材料中,硬质合金用于切削速度很高、难加工材料的场合,制造形状较简单的刀具。

50.刀具磨钝标准有粗加工、粗加工磨钝标准两种。

51.零件加工后的实际几何参数与理想几何参数的符合程度称为加工精度。

52.工件的实际定位点数,如不能满足加工要求,少于应有的定点数,称为 欠定位。

53.在切削过程中,工件形成三个表面:①待加工表面;②加工表面;③已加工表面。

54.刀刃磨损到一定程度后需要刃磨换新刀,需要规定一个合理的磨损限度,即为耐用度。

55.若工件在夹具中定位,要使工件的定位表面与夹具的定位元件相接触,从而消除自由度。

二 判断题

1(√)安全管理是综合考虑“物”的生产管理功能和“人”的管理,目的是生产更好的产品

2(√) 通常车间生产过程仅仅包含以下四个组成部分:基本生产过程、辅助生产过程、生产技术准备过程、生产服务过程。

3(√)车间生产作业的主要管理内容是统计、考核和分析。

4(√) 车间日常工艺管理中首要任务是组织职工学习工艺文件,进行遵守工艺纪律的宣传教育,并例行工艺纪律的检查。

5(×)当数控加工程序编制完成后即可进行正式加工。

6(×)数控机床是在普通机床的基础上将普通电气装置更换成CNC控制装置。

7(√)圆弧插补中,对于整圆,其起点和终点相重合,用R编程无法定义,所以只能用圆心坐标编程。

8(√)插补运动的实际插补轨迹始终不可能与理想轨迹完全相同。

9(×)数控机床编程有绝对值和增量值编程,使用时不能将它们放在同一程序段中。

10(×)用数显技术改造后的机床就是数控机床。

11(√)G代码可以分为模态G代码和非模态G代码。

12(×)G00、G01指令都能使机床坐标轴准确到位,因此它们都是插补指令。

13(√)圆弧插补用半径编程时,当圆弧所对应的圆心角大于180º时半径取负值。

14(×)不同的数控机床可能选用不同的数控系统,但数控加工程序指令都是相同的。

15(×)数控机床按控制系统的特点可分为开环、闭环和半闭环系统。

16(√)在开环和半闭环数控机床上,定位精度主要取决于进给丝杠的精度。

17(×)点位控制系统不仅要控制从一点到另一点的准确定位,还要控制从一点到另一点的路径。

18(√)常用的位移执行机构有步进电机、直流伺服电机和交流伺服电机。

19(√)通常在命名或编程时,不论何种机床,都一律假定工件静止刀具移动。

20(×)数控机床适用于单品种,大批量的生产。

21(×)一个主程序中只能有一个子程序。

22(×)子程序的编写方式必须是增量方式。

23(×)数控机床的常用控制介质就是穿孔纸带。

24(√)程序段的顺序号,根据数控系统的不同,在某些系统中可以省略的。

25(×)绝对编程和增量编程不能在同一程序中混合使用。

26(×)数控机床在输入程序时,不论何种系统座标值不论是整数和小数都不必加入小数点。

27(√)RS232主要作用是用于程序的自动输入。

28(√)车削中心必须配备动力刀架。

29(×)Y坐标的圆心坐标符号一般用K表示。

30(√)非模态指令只能在本程序段内有效。

31(×)X坐标的圆心坐标符号一般用K表示。

32(×)数控铣床属于直线控制系统。

33(√)采用滚珠丝杠作为X轴和Z轴传动的数控车床机械间隙一般可忽略不计。

34(√)旧机床改造的数控车床,常采用梯形螺纹丝杠作为传动副,其反向间隙需事先测量出来进行补偿。

35(√)顺时针圆弧插补(G02)和逆时针圆弧插补(G03)的判别方向是:沿着不在圆弧平面内的坐标轴正方向向负方向看去,顺时针方向为G02,逆时针方向为G03。

36(×)顺时针圆弧插补(G02)和逆时针圆弧插补(G03)的判别方向是:沿着不在圆弧平面内的坐标轴负方向向正方向看去,顺时针方向为G02,逆时针方向为G03。

37(√)伺服系统的执行机构常采用直流或交流伺服电动机。

38(√)直线控制的特点只允许在机床的各个自然坐标轴上移动,在运动过程中进行加工。

39(×)数控车床的特点是Z轴进给1mm,零件的直径减小2mm。

40(×)只有采用CNC技术的机床才叫数控机床。

41(√)数控机床按工艺用途分类,可分为数控切削机床、数控电加工机床、数控测量机等。

42(×)数控机床按控制坐标轴数分类,可分为两坐标数控机床、三坐标数控机床、多坐标数控机床和五面加工数控机床等。

43(×)数控车床刀架的定位精度和垂直精度中影响加工精度的主要是前者。

44(×)最常见的2轴半坐标控制的数控铣床,实际上就是一台三轴联动的数控铣床。

45(√)四坐标数控铣床是在三坐标数控铣床上增加一个数控回转工作台。

46(√)液压系统的输出功率就是液压缸等执行元件的工作功率。

47(×)液压系统的效率是由液阻和泄漏来确定的。

48(√)调速阀是一个节流阀和一个减压阀串联而成的组合阀。

49(×)液压缸的功能是将液压能转化为机械能。

50(×)数控铣床加工时保持工件切削点的线速度不变的功能称为恒线速度控制。

51(√)由存储单元在加工前存放最大允许加工范围,而当加工到约定尺寸时数控系统能够自动停止,这种功能称为软件形行程限位。

52(√)点位控制的特点是,可以以任意途径达到要计算的点,因为在定位过程中不进行加工。

53(√)数控车床加工球面工件是按照数控系统编程的格式要求,写出相应的圆弧插补程序段。

54(√)伺服系统包括驱动装置和执行机构两大部分。

55(√)不同结构布局的数控机床有不同的运动方式,但无论何种形式,编程时都认为刀具相对于工件运动。

56(×)不同结构布局的数控机床有不同的运动方式,但无论何种形式,编程时都认为工件相对于刀具运动。

57(×)一个主程序调用另一个主程序称为主程序嵌套。

58(×)数控车床的刀具功能字T既指定了刀具数,又指定了刀具号。

59(×)数控机床的编程方式是绝对编程或增量编程。

60(√)数控机床用恒线速度控制加工端面、锥度和圆弧时,必须限制主轴的最高转速。

61(×)螺纹指令G32 X41.0 W-43.0 F1.5是以每分钟1.5mm的速度加工螺纹。

62(×)经试加工验证的数控加工程序就能保证零件加工合格。

63(√)数控机床的镜象功能适用于数控铣床和加工中心。

64(×)数控机床加工时选择刀具的切削角度与普通机床加工时是不同的。

65(×)数控铣床加工时保持工件切削点的线速度不变的功能称为恒线速度控制。

66(×)在数控加工中,如果圆弧指令后的半径遗漏,则圆弧指令作直线指令执行。

67(√)车床的进给方式分每分钟进给和每转进给两种,一般可用G94和G95区分。

68(×) G00为前置刀架式数控车床加工中的瞬时针圆弧插补指令。

69(×)G03为后置刀架式数控车床加工中的逆时针圆弧插补指令。

70(×)所有数控机床加工程序的结构均由引导程序、主程序及子程序组成。

71(×)数控装置接到执行的指令信号后,即可直接驱动伺服电动机进行工作。

72(×)点位控制数控机床除了控制点到点的准确位置外,对其点到点之间的运动轨迹也有一定的要求。

73(×)数控机床的坐标规定与普通机床相同,均是由左手直角笛卡尔坐标系确定。

74(×)G00、G02、G03、G04、G90均属于模态G指令。

75(√)ISO标准规定G功能代码和M功能代码规定从00—99共100种。

76(√)螺纹车刀属于尖形车刀类型。

77(√)圆弧形车刀的切削刃上有无数个连续变化位置“刀尖”。

78(√)数控车床上的自动转位刀架是一种最简单的自动换刀设备。

79(√)在数值计算车床过程中,已按绝对坐标值计算出某运动段的起点坐标及终点坐标,以增量尺寸方式表示时,其换算公式:增量坐标值=终点坐标值-起点坐标。

80(√)一个尺寸链中一定只能一个封闭环。

81(√)在数控机床上加工零件,应尽量选用组合夹具和通用夹具装夹工件。避免采用专用夹具。

82(×)保证数控机床各运动部件间的良好润滑就能提高机床寿命。

83(√)数控机床加工过程中可以根据需要改变主轴速度和进给速度。

84(√)车床主轴编码器的作用是防止切削螺纹时乱扣。

85(×)跟刀架是固定在机床导轨上来抵消车削时的径向切削力的。

86(×)切削速度增大时,切削温度升高,刀具耐用度大。

87(×)数控机床进给传动机构中采用滚珠丝杠的原因主要是为了提高丝杠精度。

88(×)数控车床可以车削直线、斜线、圆弧、公制和英制螺纹、圆柱管螺纹、圆锥螺纹,但是不能车削多头螺纹。

89(×)平行度的符号是 //,垂直度的符号是 ┸ , 圆度的符号是 〇。

90(√)数控机床为了避免运动件运动时出现爬行现象,可以通过减少运动件的摩擦

来实现。

91(×)切削中,对切削力影响较小的是前角和主偏角。

92(×)同一工件,无论用数控机床加工还是用普通机床加工,其工序都一样。

93(×)数控机床的定位精度与数控机床的分辨率精度是一致的。

95(√)刀具半径补偿是一种平面补偿,而不是轴的补偿。

96(√)固定循环是预先给定一系列操作,用来控制机床的位移或主轴运转。

97(√)数控车床的刀具补偿功能有刀尖半径补偿与刀具位置补偿。

98(×)刀具补偿寄存器内只允许存入正值。

99(×)数控机床的机床坐标原点和机床参考点是重合的。

100(×)机床参考点在机床上是一个浮动的点。

101(√)外圆粗车循环方式适合于加工棒料毛坯除去较大余量的切削。

102(√)固定形状粗车循环方式适合于加工已基本铸造或锻造成型的工件。

102(×)外圆粗车循环方式适合于加工已基本铸造或锻造成型的工件。

103(√)刀具补偿功能包括刀补的建立、刀补的执行和刀补的取消三个阶段。

104(×)刀具补偿功能包括刀补的建立和刀补的执行二个阶段。

105(×)数控机床配备的固定循环功能主要用于孔加工。

106(√)数控铣削机床配备的固定循环功能主要用于钻孔、镗孔、攻螺纹等。

107(×)编制数控加工程序时一般以机床坐标系作为编程的坐标系。

108(√)机床参考点是数控机床上固有的机械原点,该点到机床坐标原点在进给坐标轴方向上的距离可以在机床出厂时设定。

109(√)因为毛坯表面的重复定位精度差,所以粗基准一般只能使用一次。

110(×)表面粗糙度高度参数Ra值愈大,表示表面粗糙度要求愈高;Ra值愈小表示表面粗糙度要求愈低。

111(√)数控机床的位移检测装置主要有直线型和旋转型。

112(×)基本型群钻是群钻的一种,即在标准麻花钻的基础上进行修磨,形成“六尖一七刃的结构特征。

113(√)陶瓷的主要成分是氧化铝,其硬度、耐热性和耐磨性均比硬质合金高。

114(×)车削外圆柱面和车削套类工件时,它们的切削深度和进给量通常是相同的。

115(√)热处理调质工序一般安排在粗加工之后,半精加工之前进行。

116(√)为了保证工件达到图样所规定的精度和技术要求,夹具上的定位基准应与工件上设计基准、测量基准尽可能重合。

117(√)为了防止工件变形,夹紧部位要与支承对应,不能在工件悬空处夹紧。

118(×)在批量生产的情况下,用直接找正装夹工件比较合适。

119(√)刀具切削部位材料的硬度必须大于工件材料的硬度。

120(×)加工零件在数控编程时,首先应确定数控机床,然后分析加工零件的工艺特性。

121(×)数控切削加工程序时一般应选用轴向进刀。

122(×)因为试切法的加工精度较高,所以主要用于大批、大量生产。

123(×)具有独立的定位作用且能限制工件的自由度的支承称为辅助支承。

124(√)切削用量中,影响切削温度最大的因素是切削速度。

125(√)积屑瘤的产生在精加工时要设法避免,但对粗加工有一定的好处。

126(×)硬质合金是一种耐磨性好。耐热性高,抗弯强度和冲击韧性都较高的一种刀具材料。

127(×)在切削时,车刀出现溅火星属正常现象,可以继续切削。

128(×)刃磨车削右旋丝杠的螺纹车刀时,左侧工作后角应大于右侧工作后角。

129(√)套类工件因受刀体强度、排屑状况的影响,所以每次切削深度要少一点,进给量要慢一点。

130(√)切断实心工件时,工件半径应小于切断刀刀头长度。

131(√)切断空心工件时,工件壁厚应小于切断刀刀头长度。

132(×)数控机床对刀具的要求是能适合切削各种材料、能耐高温且有较长的使用寿命。

133(√)数控机床对刀具材料的基本要求是高的硬度、高的耐磨性、高的红硬性和足够的强度7和韧性。

134(√)工件定位时,被消除的自由度少于六个,但完全能满足加工要求的定位称不完全定位。

135(×)定位误差包括工艺误差和设计误差。

136(×)数控机床中MDI是机床诊断智能化的英文缩写。

137(×)数控机床中CCW代表顺时针方向旋转,CW代表逆时针方向旋转。

138(×)一个完整尺寸包含的四要素为尺寸线、尺寸数字、尺寸公差和箭头等四项要素。

139(√)高速钢刀具具有良好的淬透性、较高的强度、韧性和耐磨性。

140(×)长V形块可消除五个自由度。短的V形块可消除二个自由度。

141(√)长的V形块可消除四个自由度。短的V形块可消除二个自由度。

142(×)高速钢是一种含合金元素较多的工具钢,由硬度和熔点很高的碳化物和金属粘结剂组成。

143(√)零件图中的尺寸标注要求是完整、正确、清晰、合理。

144(√)硬质合金是用粉末冶金法制造的合金材料,由硬度和熔点很高的碳化物和

金属粘结剂组成。

145(√)工艺尺寸链中,组成环可分为增环与减环。

阅读全文

与最强编程44题及答案相关的资料

热点内容
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275
pdf里怎么修改文字 浏览:686
已保存文档加密如何设置 浏览:413