前天做的广联达的笔试题

前天广联达来青软实训做宣讲,结束之后就考的这份题。

一、判断一个字符串是否是回文字符串

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分甚至更多。

只能说自己上学时没好好努力,怨不得别人。所以还在上学的孩子们,好好学吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章