设CJ.DBF数据库有2条记录,内容如下: Record # XM EF 1 李四 550.00 2 张三 750.00 程序如下: SET TALK OFF USE CJ M->EF=0 DO WHILE.NOT.EOF() M->EF=M->EF+EF SKIP ENDDO ?M->EF RETURN 该程序执行的结果是
A.1300
B.1000
C.1600
D.1200
第1题:
【程序说明】 涉及到的库文件SJK.DBF如下:
record# BH(N型) XM(C型) XB(C型) CS(D型) ZF(N型) ZXJ(N型)
1 080102 王五 男 88/06/08 586.00 99.00
2 080201 李四 女 89/08/09 532.00 81.00
3 080202 张三 男 90/05/06 618.00 116.00
4 080101 赵六 女 91/07/08 609.00 103.00
5 080103 孙月 女 89/06/23 589.00 72.00
【程序】
*** 主程序
SET TALK OFF
USE SJK
ZZF=0
SCAN FOR XB=“男” &&
ZZF=ZZF+ZF
ENDSCAN
? ZZF
USE
SET TALK ON
RETURN
程序的运行结果为 ______。
A.586
B.532
C.1204
D.1720
第2题:
设CJ.DBF数据库有2条记录,内容如下: Record# XM EF 1 李四 550.00 2 张三 750.00 程序如下: SET TALK OFF USE CJ M->EF=0 DO WHILE.NOT.EOF() M->EF=M->EF+EF SKIP ENDDO ?M->EF RETURN 该程序执行的结果是
A.1300.00
B.1000.00
C.1600.00
D.1200.00
第3题:
假设某数据库表中有一个姓名字段,查找姓名张三或李四的记录的准则是______。
A.III("张三","李四")
B.Like"张三"AndLike"李四"
C.Like("张三","李四")
D.”张三"And"李四"
第4题:
有如下程序: #include<iostream> using namespace std; class Name{ char name[20]; public: Name( ){strepy(name," ");tout<<'?';} Name(char*fname){strcpy(name,fname);cout<<'?';} }; int main( ){ Name name[3]={Name("张三"),Name("李四")}; return 0; } 运行此程序输出符号“?”的个数是
A.0
B.1
C.2
D.3
第5题:
从类似如下的文本文件中读取出所有的姓名,并打印出
重复的姓名和重复的次数,并按重复次数排序:
1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35
程序代码如下(答题要博得用人单位的喜欢,包名用该公司,面试前就提前查好该公司
的网址,如果查不到,现场问也是可以的。还要加上实现思路的注释):
package com.huawei.interview;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeSet;
public class GetNameTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//InputStream ips =
GetNameTest.class.getResourceAsStream("/com/huawei/interview/info.txt
");
//用上一行注释的代码和下一行的代码都可以,因为info.txt与GetNameTest类在
同一包下面,所以,可以用下面的相对路径形式
Map results = new HashMap();
InputStream ips =
GetNameTest.class.getResourceAsStream("info.txt");
BufferedReader in = new BufferedReader(new
InputStreamReader(ips));
String line = null;
try {
while((line=in.readLine())!=null)
{
dealLine(line,results);
}
sortResults(results);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static class User
{
public String name;
public Integer value;
public User(String name,Integer value)
{
this.name = name;
this.value = value;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
//下面的代码没有执行,说明往treeset中增加数据时,不会使用到equals方
法。
boolean result = super.equals(obj);
System.out.println(result);
return result;
}
}
private static void sortResults(Map results) {
// TODO Auto-generated method stub
TreeSet sortedResults = new TreeSet(
new Comparator(){
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
User user1 = (User)o1;
User user2 = (User)o2;
/*如果compareTo返回结果0,则认为两个对象相等,新的对象不
会增加到集合中去
* 所以,不能直接用下面的代码,否则,那些个数相同的其他姓
名就打印不出来。
* */
//return user1.value-user2.value;
//return
user1.value<user2.value?-1:user1.value==user2.value?0:1;
if(user1.value<user2.value)
{
return -1;
}else if(user1.value>user2.value)
{
return 1;
}else
{
return user1.name.compareTo(user2.name);
}
}
}
);
Iterator iterator = results.keySet().iterator();
while(iterator.hasNext())
{
String name = (String)iterator.next();
Integer value = (Integer)results.get(name);
if(value > 1)
{
sortedResults.add(new User(name,value));
}
}
printResults(sortedResults);
}
private static void printResults(TreeSet sortedResults)
{
Iterator iterator = sortedResults.iterator();
while(iterator.hasNext())
{
User user = (User)iterator.next();
System.out.println(user.name + ":" + user.value);
}
}
public static void dealLine(String line,Map map)
{
if(!"".equals(line.trim()))
{
String [] results = line.split(",");
if(results.length == 3)
{
String name = results[1];
Integer value = (Integer)map.get(name);
if(value == null) value = 0;
map.put(name,value + 1);
}
}
}
}