拜求两道java编程题(附答案的) 各位好,诚求两道java编程题(附答案)题目要求是相关J2SE的基础知识,如包含java基础知识、线程、算法、xml解析等方面,适当包含一些模拟业务场景的!题目/答案发送:[email protected] 拜谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哈哈,楼主很有意思!难道百度或google中题很少吗?建议LZ遇到问题,先自己上网查着解决!何况这种不是问题的问题,我们可不是题库啊!CSDN的外包中有很多的,可以去看看! 修改上面的说法,是csdn的项目交易里面有好多的! 那种试题,很少的!只有你自己上班了,才能看到!一个公司分给我的面试试题,给你看看! 程序员笔试题 (时间:60分钟)一 计算题 ( 32 * 444 + 8 * 999 ) * ( 193 * 50 + 350)=(32*4*111+8*9*111)*(193*50+7*50)=111*(32*4+8*9)*50*(193+7)=111*200*50*200=222000000二 编程题,语言不限,也可以使用伪代码1、完成一下程序,实现字符串复制功能。//java codechar[] strcpy(char[] src) { int length = src.length; char[] desc = new char[length]; for(int i=0; i<length; i++) { desc[i] = src[i]; } return desc;}2、请按照你的编程习惯,优化以下程序。void fun(){ int i1 = 2000; String s1 = ""; for(int i = 0; i < i1; i++){ s1 = s1 + "c"; } System.out.println(s1); int i2 = 14300; String s2 = ""; for(int i = 0; i < i2; i++){ s2 = s2 + "j"; } System.out.println(s2); }本程序存在的主要问题是:String对象里面的字符串不能变,执行s1 = s1 + “c” 这句代码时,s1指向了新的对象,其值是s1的值加”c”。因此上述程序执行时,会产生16300多个String类型的垃圾对象,严重浪费系统资源。而StringBuffer可以在其后面追加字符串,操作完成后再转换成String,就可以解决上面的问题。优化后的代码如下:void fun() { int i1 = 2000;//此处用StringBuffer替换String StringBuffer s1 = new StringBuffer(); for(int i = 0; i < i1; i++){ s1.append("c"); } System.out.println(s1.toString()); //此处也没有必要重新声明变量,直接用前面声明的变量i1和s1就行了 i1 = 14300; s1 = new StringBuffer(); for(int i = 0; i < i1; i++){ s1.append("j"); } System.out.println(s1.toString());}3、根据下表的数据,编码实现。值组合 结果A B C D 1 1 1 1 FALSE1 1 1 0 FALSE1 1 0 1 FALSE1 1 0 0 FALSE1 0 1 1 FALSE1 0 1 0 TRUE1 0 0 1 TRUE1 0 0 0 TRUE0 1 1 1 FALSE0 1 1 0 TRUE0 1 0 1 TRUE0 1 0 0 TRUE0 0 1 1 FALSE0 0 1 0 TRUE0 0 0 1 TRUE0 0 0 0 TRUE下面是根据表中的数据编码得到的函数:boolean function(int a, int b, int c, int d) { boolean result = false; //参数的转换,1为true,0为false boolean a1 = (a == 1) ? true : false; boolean b1 = (b == 1) ? true : false; boolean c1 = (c == 1) ? true : false; boolean d1 = (d == 1) ? true : false; //对a1、b1、c1和d1进行逻辑运算:a1和b1相与, //c1和d1相与,然后得到的两个结果相或, //最后对整个结果取非,得到最终的要求。 result = !((a1 & b1) | (c1 & d1)); return result; }三 用一句SQL语句,查询表B1中各个班级,语文 > 60 的人数表名:B1学号 姓名 班级 科目 成绩 结果: 1001 张三 20101 语文 80 班级 人数1002 李四 20102 语文 66 20101 1003 王五 20101 语文 54 20102 1004 赵六 20102 语文 61 1005 孙七 20102 语文 36 Sql语句:select 班级,count(*) “人数” from b1 where 成绩 > 60 group by 班级 聊天程序求大神解惑 java初学 关于this的小问题 IE7无法总是以记事本方式打开服务器上的Excel文件,而我希望是能够弹出下载框保存 二分法的插入问题 为什么放到选项卡里面的组件不会随选项卡的大小改动而变化呀,紧急求助 假如我要操作未知格式xml文件,该用哪种xml解析器? 为什么两个一样的方法,而得到不同的效果! 菜鸟问菜问题啊!!!!!!!! 这里的问题有些杂乱,如果能够分分类就好了 我安装了JBuilder 5 为什么 Enterprise 项的很多东西都是灰显得? 求解-GUI布局问题(菜鸟级) double型数组问题
一 计算题
( 32 * 444 + 8 * 999 ) * ( 193 * 50 + 350)
=(32*4*111+8*9*111)*(193*50+7*50)
=111*(32*4+8*9)*50*(193+7)
=111*200*50*200
=222000000
二 编程题,语言不限,也可以使用伪代码
1、完成一下程序,实现字符串复制功能。
//java code
char[] strcpy(char[] src) {
int length = src.length;
char[] desc = new char[length];
for(int i=0; i<length; i++) {
desc[i] = src[i];
}
return desc;
}
2、请按照你的编程习惯,优化以下程序。
void fun(){
int i1 = 2000;
String s1 = "";
for(int i = 0; i < i1; i++){
s1 = s1 + "c";
}
System.out.println(s1);
int i2 = 14300;
String s2 = "";
for(int i = 0; i < i2; i++){
s2 = s2 + "j";
}
System.out.println(s2);
}
本程序存在的主要问题是:String对象里面的字符串不能变,执行s1 = s1 + “c” 这句代码时,s1指向了新的对象,其值是s1的值加”c”。因此上述程序执行时,会产生16300多个String类型的垃圾对象,严重浪费系统资源。而StringBuffer可以在其后面追加字符串,操作完成后再转换成String,就可以解决上面的问题。优化后的代码如下:
void fun() {
int i1 = 2000;
//此处用StringBuffer替换String
StringBuffer s1 = new StringBuffer();
for(int i = 0; i < i1; i++){
s1.append("c");
}
System.out.println(s1.toString());
//此处也没有必要重新声明变量,直接用前面声明的变量i1和s1就行了
i1 = 14300;
s1 = new StringBuffer();
for(int i = 0; i < i1; i++){
s1.append("j");
}
System.out.println(s1.toString());
}3、根据下表的数据,编码实现。
值组合 结果
A B C D
1 1 1 1 FALSE
1 1 1 0 FALSE
1 1 0 1 FALSE
1 1 0 0 FALSE
1 0 1 1 FALSE
1 0 1 0 TRUE
1 0 0 1 TRUE
1 0 0 0 TRUE
0 1 1 1 FALSE
0 1 1 0 TRUE
0 1 0 1 TRUE
0 1 0 0 TRUE
0 0 1 1 FALSE
0 0 1 0 TRUE
0 0 0 1 TRUE
0 0 0 0 TRUE下面是根据表中的数据编码得到的函数:
boolean function(int a, int b, int c, int d) {
boolean result = false;
//参数的转换,1为true,0为false
boolean a1 = (a == 1) ? true : false;
boolean b1 = (b == 1) ? true : false;
boolean c1 = (c == 1) ? true : false;
boolean d1 = (d == 1) ? true : false;
//对a1、b1、c1和d1进行逻辑运算:a1和b1相与,
//c1和d1相与,然后得到的两个结果相或,
//最后对整个结果取非,得到最终的要求。
result = !((a1 & b1) | (c1 & d1));
return result;
}
三 用一句SQL语句,查询表B1中各个班级,语文 > 60 的人数
表名:B1
学号 姓名 班级 科目 成绩 结果:
1001 张三 20101 语文 80 班级 人数
1002 李四 20102 语文 66 20101
1003 王五 20101 语文 54 20102
1004 赵六 20102 语文 61
1005 孙七 20102 语文 36 Sql语句:
select 班级,count(*) “人数” from b1 where 成绩 > 60 group by 班级