如下字符串:01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21分割出每个人的信息,样式如下:01 张三 2002 李四 18…..创建Student类,属性:学号 姓名 年龄(1)将这些Student对象放进数组中(2)查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)(3)计算所有学生的平均年龄,最大年龄,最小年龄(4)如果存在名字叫张三的将名字改为张兵

题目

如下字符串:

01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21

分割出每个人的信息,样式如下:

01 张三 20

02 李四 18

…..

创建Student类,属性:学号 姓名 年龄

(1)将这些Student对象放进数组中

(2)查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)

(3)计算所有学生的平均年龄,最大年龄,最小年龄

(4)如果存在名字叫张三的将名字改为张兵


相似考题
更多“如下字符串:01#张三#20*02#李四#18*03#王五#22*04#赵六#20*05#田七#21分割出每个人的信息,样式如下:01 张三 2002 李四 18…..创建Student类,属性:学号 姓名 年龄(1)将这些Student对象放进数组中(2)查询里面有没有叫田七的学生如果存在则打印学生的具体信息(封装成方法,键盘输入姓名)(3)计算所有学生的平均年龄,最大年龄,最小年龄(4)如果存在名字叫张三的将名字改为张兵”相关问题
  • 第1题:

    假设某数据库表中有一个姓名字段,查找姓名为“张三”或“李四”的记录的准则是( )。

    A.Not“张三,李四”

    B.In(“张三,李四”)

    C.Left([姓名]=“张三,李四”

    D.Len([姓名])=“张三”,“李四”


    正确答案:B

  • 第2题:

    有学生信息表student,求年龄在20岁到22岁之间(含20岁和22岁)的学生姓名和年龄的 SQL语句是:

    SELECT sname, age FROM student

    WHERE age ______;


    正确答案:BETWEEN 20 AND 22 或者 age≤22 AND age20 或者 age20 AND age≤22
    BETWEEN 20 AND 22 或者 age≤22 AND age20 或者 age20 AND age≤22 解析:此题的关键需要注意答案中BETWEEN语句的用法,BETWEEN语句包含对上下界的选择。

  • 第3题:

    在考生文件夹下“student.mdb”数据库中有student、课程和成绩三张表。

    (1)以student表为数据源,创建查询“查询1”,查询>=20岁的男学生信息。结果显示学号、姓名、性别和年龄字段。查询结果如图所示。

    (2)以student表为数据源,创建更新查询“查询2”,将每个学生的年龄增加一岁


    正确答案:

  • 第4题:

    对于学生信息表STUDENT(SNO, SNAME,SEX,AGE,DEPT)(STUDENT由学号SNO、姓名SNAME、性别SEX、年龄AGE、所在系DEPT 5个属性组成,其中SNO为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是( )。A.SELECT SNAME,AGE FROM STUDENT WHERE AGE>20 AND AGE<23B. SELECT*FROM STUDENT WHERE AGE BETWEEN 20 AND 23C.SELECT SNAME,AGE FROM STUDENT WHERE AGE BETWEEN 20 AND 23D.以上均不正确


    正确答案:C
    A项在表述年龄的范围时有错误,SQL并不是那样表示的,B项不符题意,查询的结果为学生信息表的所有字段。

  • 第5题:

    设有如下关系:学生(学号,姓名,性别,年龄,班号)。其关键字是学号,将学号为10的学生姓名改为“王华”的SQL语句是【】 。


    正确答案:UPDATE学生SET姓名=”王华”WHERE 学号=”10”
    因为是更新,我们选择语句UPDATE,表名是学生,我们对姓名进行设置,将姓名改为“王华”,更改的条件是10号学员。所以综合起来如答案所示

  • 第6题:

    如何用SQL查询出最新的记录变化?详见以下描述,谢谢!

    有两个表格Student 和 Change:

    表Student 记录学生的入学信息:

    Xh                 xm            zt timech

    20100001 张三 在学 2010.9.1

    20100002 李四 在学 2010.9.1

    20100003 王五 在学 2010.9.1

    20100004 钱六 在学 2010.9.1

    表Change 记录学生的学籍变化情况:

    xuhao    xh             ztchange timech

    1 20100001 辍学 2010.11.1

    2 20100001 在学 2010.12.5

    3 20100002 休学 2011.1.9

    4 20100003 辍学 2011.3.9

    5 20100002 在学 2011.6.6

    现要求查询指定时间的在校生人数,例如2011.1.20,按上两表结果应为:

    Xh                xm zt timech

    20100001 张三 在学 2010.12.5

    20100002 李四 休学 2011.1.9

    20100003 王五 在学 2010.9.1

    20100004 钱六 在学 2010.9.1

    张三在2011.1.1时已经复学了,所以状态为在学,但时间为最近一次变化的时间2010.12.5

    李四已经休学,变化时间为2011.1.9

    王五此时还没辍学,钱六一直没变,因此两人的记录都没变。

    如何用SQL语句完成以上查询呢? 谢谢!


    select

    a.xh as xh,

    a.xm as xm ,

    case b.ztchange  when  ' ' then a.zt else b.ztchange end as zt ,

    case b.timech when  ' ' then a.timech else b.timech end as timech

    from student a

    left join change b on a.xh = b.xh and b.timech > '20110120' and b.ztchange = '在学'

     

    希望能帮到你,别忘了采纳我的答案哦,祝你生活愉快!


  • 第7题:

    第七题: 已知SQL Server数据库的有一个数据库TestDB,学生表结构如下:

    表名:Student

    字段名 类型 说明

    id int 自增1

    name varchar(16)

    sex char(1) 'F'表示女性,'M'表示男性

    编写ASP 代码,将 Student中的人的姓名及性别列出来,并给统计学生人数如下:

    姓名 性别

    张三 男

    李四 男

    王五 女

    ... ...

    总共有100个学生


    正确答案:
     

  • 第8题:

    已知学生表如下:

    学号姓名年龄性别班级20120001张三18男计算机一班20120002李四19男计算机一班20120003王五20男计算机一班20120004刘七19女计算机二班

    执行下列命令后,得到的记录数是( )。SELECT班级,MAX(年龄)FROM学生表GROUP BY班级

    A.4

    B.3

    C.2

    D.1


    正确答案:C
    GroupBy语句用来分组,所以班级相同的会分为一组,而题干中间有几条记录,所以有几个班级就有几个记录,答案选择C。

  • 第9题:

    在 Visual FoxPro 中,设有一个学生表 STUDENT ,其中有学号、姓名、年龄、性别等字段,用户可以用命令 “ 【 12 】 年龄 WITH 年龄 +l ” 将表中所有学生的年龄增加一岁。


    正确答案:

  • 第10题:

    某班级有学生做好事不留名。甲、乙、丙、丁等4位老师对班上的4位学生表达了他们的看法。甲说:“这件事如果不是张三做的,肯定就是赵六做的。” 乙说:“这件事如果是张三做的,那么李四或王五也会做。” 丙说:“这件事如果李四不做,则王五也不做;赵六也不会是做这件事的人。”.丁说:“这件事肯定是张三做的,而李四与王五都不会做。” 事后得知,四位教师的看法中只有一种是对的。据此,可以推出做好事的学生是( )。

    A. 张三
    B. 李四
    C. 王五
    D. 赵六

    答案:C
    解析:
    . 王五
    某班级有学生做好事不留名。甲、乙、丙、丁4位老师对班上的4位学生表达了他们的看法。
    甲说:“这件事不是张三做的,肯定就是赵六做的。”
    乙说:“这件事如果是张三做的,那么李四或王五也会做。”
    丙说:“这件事如果李四不做,则王五也不做;赵六也不会是做这件事的人。”
    丁说:“这件事肯定是张三做的,而李四和王五都不会做。”
    事后得知,四位老师的看法中只有一种是对的。
    乙的话和丁的话矛盾,必有一真。由于只有一个是真的,所以甲和丙的话为假。甲的话说明不是张三 和赵六做的。丙的话是是王五或赵六做的。所以最后是王五做的

  • 第11题:

    数据结构里,struct student { char name[20]; char sex[10]; int age; int score; }; 定义结构体后,定义变量、数组赋值正确的是()。

    • A、struct student s={"张三","男",18,100};
    • B、struct student stu[3]={{"张三","男",18,100},{"李四","男",19,90},{"王五","男",23,97}};
    • C、struct student s={"李四";"女";18;100};
    • D、struct student stu[3]={{"张三",18,"男",100},{"李四",19,"男",90},{"王五",23,"男",97}};

    正确答案:A,B

  • 第12题:

    单选题
    在表student.dbf中存储了所有学生信息,设有如下程序:该程序实现的功能是(  )。
    A

    将所有年龄大于18的学生年龄增加1岁

    B

    将所有年龄小于18的学生年龄增加1岁

    C

    将第一条年龄大于18的学生年龄增加1岁

    D

    将第一条年龄小于18的学生年龄增加1岁


    正确答案: D
    解析:
    语句Exit在循环中会使程序执行完第一次循环后就跳出,故只修改了第一条记录。

  • 第13题:

    下列语句中,功能相同的命令是()。

    A.SELECT学号,姓名FROM学生WHERE年龄BETWEEN20TO22;

    B.SELECT学号,姓名FROM学生WHERE年龄>20AND年龄<=22;

    C.SELECT学号,姓名FROM学生WHERE年龄>=20AND年龄<22;

    D.SELECT学号,姓名FROM学生WHERE年龄>=20AND年龄<=22;


    参考答案:AD

  • 第14题:

    向信息系学生视图IS_ STUDENT中插入一个新的学生记录,其中,学号01028,姓名为小红,年龄为18岁,正确的SQL语句是( )。

    A.INSERT INTO IS_ STUDENT VALUES('01029','小红',18)

    B.INSERT INTO IS_ STUDENT VALUES(01029,'小红',18)

    C.SELECT INTO IS_ STUDENT VALUES(01029,小红,18)

    D.SELECT INTO IS_ STUDENT VALUES('01029','小红',18)


    正确答案:A
    解析:插入语句的一般格式有两种:①插入一个元组INSERTINTO表名[(字段名[,字段名]…)]VALUES(常量[,常量]…);②插入子查询结果INSERTINTO表名[(字段名[,字段名]…)]子查询第一种格式把一个新记录插入到指定的表中,第二种格式把子查询的结果插入指定的表中。若表中有些字段在插入语句中没有出现,则这些字段上的值取空值NULL。当然在表定义中说明了NOTNULL的字段在插入时不能取NULL。在这道题里,学号和姓名都为字符串类型,应当打单引号。

  • 第15题:

    设有学生表STUDENT,其中有学号,姓名,年龄,性别等字段,该表是在2002年建立的,到2003年用户可以使用SOL的 _____ 语句,将表中的所有学生年龄增加一岁,到2004年,显示学生表中年龄大于22岁的学生信息的SQL语句是 ______ 。


    正确答案:UPDATE STUDENT SET年龄=年龄+1 SELECT*FROM STUDENT WHERE年龄>22
    UPDATE STUDENT SET年龄=年龄+1 SELECT*FROM STUDENT WHERE年龄>22

  • 第16题:

    如果学生表student是使用下面的SQL谙句创建的: CREATE TABLE student(学号C(6)PRIMARY KEY NOT NULL,姓名C(8),性别C(2),年龄N(2) CHECK(年龄>15 AND年龄<30,)) 则下面的SQL语句中可以正确执行的是( )。

    A. INSERT INTO student(学号,性别,年龄)VALUES(”0542”,”李雷”,”男”,17)

    B. INSERT INTO student(学号,性别,年龄)VALUES(”李雷”,”男”,20)

    C. INSERT INTO student(学号,性别,年龄)VALUES(”女”,25)

    D. INSERT INTO student(学号,性别,年龄)VALUES(”0897”,”安宁”,”女”,30)


    正确答案:A
    由于“学号”是主关键字,不可以为空,因此是必填字段,在用INSERT插入记录时,学号字段的值不可省略,另外在插入记录时,插入数据的个数必须和字段个数相等。

  • 第17题:

    从类似如下的文本文件中读取出所有的姓名,并打印出

    重复的姓名和重复的次数,并按重复次数排序:

    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);
    }
    }
    }
    }

  • 第18题:

    已知学生表如下: 学号 姓名 年龄 性别 班级 20120001 张三 18 男 计算机一班 20120002 李四 19 男 计算机一班 20120003 王五 20 男 计算机一班 20120004 刘七 19 女 计算机二班 执行下列命令后,得到的记录数是( )。SELECT班级,MAX(年龄)FROM学生表GROUP BY班级

    A.4

    B.3

    C.2

    D.1


    正确答案:C
    GroupBy语句用来分组,所以班级相同的会分为一组,而题干中间有几条记录,所以有几个班级就有几个记录,答案选择C。

  • 第19题:

    查询所有目前年龄是22岁的学生信息:学号,姓名和年龄,正确的命令组是

    A.CREATE VIEW AGE_LIST AS; SELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生; SELECT学号,姓名,年龄FROM AGE_LIST WHERE年龄=22

    B.CREATE VIEW AGE_LIST AS; SELECT学号,姓名,YEAR(出生日期)FROM学生: SELECT学号,姓名,年龄FROM AGE_LIST WHERE YEAR(出生日期)=22

    C.CREATE VIEW AGE_LIST AS; SELECT学号,姓名,YEAR(DATE())-YEAR(出生日期)年龄FROM学生; SELECT学号,姓名,年龄FROM学生WHERE YEAR(出生日期)=22

    D.CREATE VIEW AGE_LIST AS STUDENT; SELECT学号,姓名,YEAR(DATE()).YEAR(出生日期)年龄FROM学生; SELECT学号,姓名,年龄FROM STUDENT WHERE年龄=22


    正确答案:A
    解析:本题考查SOL中复杂查询语句的书写,四个选项中只有选项A是正确的。选项B和选项C是从建立的AGE_LIST视图中查询数据,但AGE_LIST视图中没有出生日期字段。选项D是从STUDENT表或视图中查询数据,但是 STUDENT表或视图不存在。故选项A是正确答案。

  • 第20题:

    有学生信息表student,求年龄在20~22岁之间(含20岁和22岁)的学生姓名和年龄的SQL语句是

    SELECT sname,age FROM student

    WHERE age【 】;


    正确答案:BETWEEN 20 AND 22 或者 age<=22 AND age>=20 或者 age>=20 AND age<=22 或者 age<=22 AND age>=20 或者 age>=20 AND age<=22
    BETWEEN 20 AND 22 或者 age<=22 AND age>=20 或者 age>=20 AND age<=22 或者 age<=22 AND age>=20 或者 age>=20 AND age<=22

  • 第21题:

    如果学生表student是使用下面的SQL语句创建的

    CREATE TABLE student(学号C(4)PRIMARY KEY NOT NULL,;

    姓名C(8),;

    性别C(2),;

    年龄N(2)CHECK(年龄>1 5 AND年龄<30))

    下面的SQL语句中可以正确执行的是( )。

    A)INSERT INTO student(学号,性别,年龄)VALUES(”0542”,”男”,l7)

    B)INSERT INTO student(姓名,性别,年龄VALUES(”李蕾”,”女”,20)

    C)INSERT INTO student(姓名,性别,年龄)VALUES(”男”,25)

    D)INSERT INTO student(学号,姓名)VALUES(”0897”,”安宁”,16)


    正确答案:A
    由于“学号”是主关键字,不可以为空,因此是必填字段,在用INSERT插入记录时,学号字段的值不可省,故选项B)和选项C)不正确,在用INSERT插入记录时,初值的个数必须和字段个数相等。故选项D)不正确。PRIMARYKEYNOTNULL用来定义学号为主关键字,并且不可为NULL值,CHECK(AGE>15 AND AGE<30)语句用来约束字段年龄必须大于15并且小于30。

  • 第22题:

    假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句:    学生(学号,姓名,年龄,性别)    课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩) (1)如何在SQL Server上创建这三张表; (2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名; (4)查询至少选修了两门课程(含两门)的学生学号; (5)查询王文芳同学选修的所有课程的课程号; (6)查询王文芳同学不学的课程的课程号; (7)查询所有上刘峰老师课程的学生学号; (8)查询所有选修“数据库原理”的学生的学号; (9)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(1表示女,0表示男) (10)删除三张表中所有学号为20020001的学生信息; (11)把学号为20030002的学生的年龄改为22岁。
    1.学生表:
    Create table 学生表 (   
    学号 char (8) primary Key,   
    姓名 char(8),   
    年龄 int,   
    性别 bit

       
    课程表:
    Create table 课程表 (   
    课程号 char (7) primary Key, 
    课程名 char(20),   
    任课教师 char (8)

       
    成绩表:
    Create table 成绩表 (   
    学号 char (8),  
    课程号 char (7),   
    成绩 Numeric (4,2)

    2.Select课程号, 课程名 from课程表 where任课教师=’ 刘峰’
    3.Select 学号, 姓名 from 学生表 where 性别=1 and 年龄>20
    4.select 学号 from 成绩   group by 学号   having count(学号)>=2 
    5.Select 课程号 from 成绩表, 学生表 
      Where学生表.姓名=’ 王文芳’ and 学生表.学号=成绩表.学号
    6.select 课程号 from 成绩表 
      where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名='王文芳' and 学生表.学号=成绩表.学号)
    7.Select 学号 from 成绩表,课程表,学生表 
      Where 课程表.任课教师='刘世峰' and 课程表.课程号=成绩表.课程号 and 课程表.学号=成绩表.学号
    8.Select 学号 from 成绩表,课程表 
      where 课程表.课程名='数据库技术' and 课程表.课程号=成绩表.课程号
    9.insert into 学生表 values ('2003001','吴红','21',1) 
    10.Delete from学生表 where 学号=’ >20020001’   
    Delete from学生表 where 学号=’ 20020001’ 
    11. Update 学生表 set 年龄=’22’ where学号=’20030002’

  • 第23题:

    某班级有学生做好事不留名。甲、乙、丙、丁等4位老师对班上的4位学生表达了他们的看法。甲说:“这件事如果不是张三做的,肯定就是赵六做的。”乙说:“这件事如果是张三做的,那么李四或王五也会做。”丙说:“这件事如果李四不做,则王五也不做;赵六也不会是做这件事的人。”.丁说:“这件事肯定是张三做的,而李四与王五都不会做。”事后得知,四位教师的看法中只有一种是对的。据此,可以推出做好事的学生是()

    • A、张三
    • B、李四
    • C、王五
    • D、赵六

    正确答案:C