Java面向对象编程

在关系型是数据库中,有两个不同的事务同时操作数据库中同一表的同一行,不会引起冲突的是:

A. 其中一个DELETE操作,一个是SELECT操作

B. 其中两个都是UPDATE

C. 其中一个是SELECT,一个是UPDATE

D. 其中一个SELECT

E. 其中一个是DELETE,另一个是UPDATE

F. 两个都是DELETE

答案:F

计算每位学生的多学科加总成绩的SQL是_____

A. select sum(score) as total,stud_name from [成绩表](nolock)

B. select count(score) as total,stud_name from [成绩表](nolock)

C. select sum(score) as total,stud_name from [成绩表](nolock) group by stud_name

D. select count(score) as total,stud_name from [成绩表](nolock) group by stud_name

答案:C

以下哪个不是与Mysql服务器相互作用的通讯协议()

A. TCP/IP

B. UDP

C. 共享内存

D. Socket

答案:B

公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()

A. 1:1联系

B. m:1联系

C. 1:m联系

D. m:n联系

答案:C

设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是()

Java面向对象编程_第1张图片

A. 该操作不能重复读

B. 该操作不存在问题

C. 该操作读"脏"数据

D. 该操作丢失修改

答案:D

mysql 数据库有选课表 learn(student_id int,course_id int),字段分别表示学号和课程编号, 现在想获取每个学生所选课程的个数信息,请问如下的 sql 语句正确的是()

A. select student_id,sum(course_id)from learn

B. select student_id,count(course_id)from learn group by student_id

C. select student_id,count(course_id)from learn

D. select student_id,sum(course_id)from learn group by student_id

答案:B

如果事务T获得了数据项Q上的排它锁,则T对Q______。

A. 只能读不能写

B. 只能写不能读

C. 既可读又可写

D. 不能读不能写

答案:C

在关系模型中,实现“表示了两个关系之间的相关联系”的约束是通过()

A. 候选键

B. 主键

C. 外键

D. 超键

答案:C

学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()

A. ALTER TABLE S DROP Age

B. ALTER TABLE S ‘Age’

C. UPDATE S Age

D. DELETE Age from S

答案:A

下列选项中,不属于SQL约束的是:

A. UNIQUE

B. PRIMARY KEY

C. FOREIGN KEY

D. BETWEEN

答案:D

完全数计算
题目描述:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 
例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。
 输入n,请输出n以内(含n)完全数的个数。
 数据范围:1<=n<=5*10^5
 输入描述:输入一个数字n 
输出描述:输出不超过n的完全数的个数
输入:1000
输出:3
方法1:

public class Main7 {

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        while (scanner.hasNext()){

            int n=scanner.nextInt();

            int count=0;

            for (int i = 2; i <= n ; i++) {

                int sum=0;

                for (int j = 2; j*j <= i ; j++) {

                    if (i%j==0){

                        if (i/j==i){

                            sum=sum+j;

                        }else {

                            sum=sum+j+i/j;

                        }

                    }

                }

                if (sum+1==i){

                    count++;

                }

            }

            System.out.println(count);

        }

    }

}
方法2

public class Main8 {

    //完全数计算

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        int n=scanner.nextInt();

        int count=0;

        for (int i = 1; i < n; i++) {

            if (find(i)){

                count++;

            }

        }

        System.out.println(count+1);

    }

    public static Boolean find(int n){

        Stack<Integer> stack=new Stack<>();

        for (int i = 1; i < n; i++) {

            if (n % i==0){

                stack.push(i);

            }

        }

        int sum=0;

        while (!stack.isEmpty()){

            sum=sum+stack.pop();

        }

        if (sum==n){

            return true;

        }

        return false;

    }

}
扑克牌大小
扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示 小王,大写JOKER表示大王):
3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER
输入两手牌,两手牌之间用"-"连接,每手牌的每张牌以空格分隔,"-"两边没有空格,如:4 4 4 4-joker JOKER。
请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR。
基本规则: 
(1)输入每手牌可能是个子、对子、顺子(连续5张)、三个、炸弹(四个)和对王中的一种,不存在其他情况,由输入保证两手牌都是合法的,顺子已经从小 到大排列; 
(2)除了炸弹和对王可以和所有牌比较之外,其他类型的牌只能跟相同类型的存在比较关系(如,对子跟对子比较,三个跟三个比较),不考虑拆牌情况 (如:将对子拆分成个子); 
(3)大小规则跟大家平时了解的常见规则相同,个子、对子、三个比较牌面大小;顺子比较最小牌大小;炸弹大于前面所有的牌,炸弹之间比较牌面大小;对 王是最大的牌; 
(4)输入的两手牌不会出现相等的情况。
数据范围:字符串长度:3<=length<=10
输入描述:输入两手牌,两手牌之间用"-"连接,每手牌的每张牌以空格分隔,"-"两边没有空格,如 4 4 4 4-joker JOKER。 
输出描述:输出两手牌中较大的那手,不含连接符,扑克牌顺序不变,仍以空格隔开;如果不存在比较关系则输出ERROR。
输入:4 4 4 4-joker JOKER
输出:joker JOKER
public class Main9 {

    //扑克牌大小

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        String str=scanner.nextLine();

        String[] pp=str.split("-");

        String[] p1=pp[0].split(" ");

        String[] p2=pp[1].split(" ");

        String p="34567891JQKA2";

        if (pp[0].equals("joker JOKER") || pp[1].equals("joker JOKER")){

            System.out.println("joker JOKER");

        }else if (p1.length==p2.length){

            if (p.indexOf(p1[0].substring(0,1))>p.indexOf(p2[0].substring(0,1))){

                System.out.println(pp[0]);

            }else {

                System.out.println(pp[1]);

            }

        }else if (p1.length==4){

            System.out.println(pp[0]);

        }else if (p2.length==4){

            System.out.println(pp[1]);

        }else {

            System.out.println("ERROR");

        }

    }

}

你可能感兴趣的:(MySQL数据库,java要笑着学,数据库,java,开发语言,oracle)