前天广联达来青软实训做宣讲,结束之后就考的这份题。
一、判断一个字符串是否是回文字符串
package com.bishi;
public class Huiwen {
public static void main(String[] args) {
boolean f=Huiwen.huiwen("上海自来水来自海上");
if(f){
System.out.println("是回文数字");
}else{
System.out.println("不是回文数字");
}
}
public static boolean huiwen(String str){
String str2;
StringBuffer sb1,sb2;
sb1=new StringBuffer(str);
sb2=sb1.reverse();//StringBuffer中的一个方法,可以将内容本末置换
str2=new String(sb2);
if(str.equals(str2)){
return true;
}
return false;
}
}
二、从M个不同字符中任取N个字符的所有组合
这个当时做的时候晕了,没绕出来。感觉让我不用程序,用数学做都有点乱。回去之后在网上好不容易找到这个java的的代码,没太弄明白,程序好像也有点小问题。
package com.bishi;
public class Pailie {
static void find(String source, char[] result, int n)
{
char[] arr = source.toCharArray();
if (n == 1)
{
int i = 0;
while (i < arr.length) {
result[result.length - 1] = arr[i++];
System.out.println(new String(result));
}
}
else
{
int i = arr.length, j, k = 0;
for (j = 0; result[j] != 0; j++)
;
for (; i >= n; i--)
{
result[j] = arr[k++];
result[j + 1] = '\0';
find(source.substring(k), result, n - 1);
}
}
}
public static void main(String args[])
{
final int n = 2;
String source = "ABCDEFGHI";
char[] result = new char[n];
if (n > 0 && source.length() > 0 && n <= source.length()){
find(source, result, n);
}
}
}
三、对于任意输入的一个英文字符串,将其中的大写转化为小写,小写转化为大小(不能使用toLowerCase()和toUpperCase())
package com.bishi;
public class Daxiaoxiezhuanhuan {
public static void main(String[] args) {
zhuanhuan("aPsxLMye");
}
public static void zhuanhuan(String str){
StringBuffer sb=new StringBuffer();
char[] crs=str.toCharArray();
for (int i = 0; i < crs.length; i++) {
//判断是否为大写字母
if(crs[i]>=65&&crs[i]<=90){
char a=(char) (crs[i]+32);
crs[i]=a;
}
//判断是否为小写字母
else if(crs[i]>=97&&crs[i]<=122){
char b=(char) (crs[i]-32);
crs[i]=b;
}
sb.append(crs[i]);
}
System.out.println(sb.toString());
}
}
四、数据库的分页(所有数据库通用方法)
这里我以student表为例子
select * from (
select * from sa.student where stid not in (
select * from (select stid from sa.student where rownum<=(n-1)*r order by stid desc))
order by stid desc)
where rownum<=r;
n:当前为第几页
r:每页显示多少条信息
五、你用过的所有软件中你觉得哪个最优秀?它好在哪里?你觉得还需要改进的地方是?
这个开放式的题目。我当时答的是QQ影音。
六、设计题。设计单机版人机对战的五子棋
1.设计出程序思路和方案。
2.画出程序核心的模块流程图
这个也是,我就说了一下类的设计,各个类中某些特殊属性的作用,棋盘的设计,胜负平局的判定。大家可以按照自己思维方式答。
=================================================================================================================
自己觉得 这份题答得还可以,但是结果我们班只有一个本科的男的通过了笔试,去参加了面试,结果要明后天才出来。
学历真的是块敲门砖,就算你笔试答的再好,他们在批阅的时候,当看到你的学历是专科,在心里会直接给你扣掉30分甚至更多。
只能说自己上学时没好好努力,怨不得别人。所以还在上学的孩子们,好好学吧。