Java面向对象编程

一个查询语句执行后显示的结果为:

1班 80

2班 75

3班 NULL ,

则最有可能的查询语句是()

A. SELECT AVG(成绩) FROM 成绩表 WHERE class<=3

B. SELECT AVG(成绩) FROM 成绩表 WHERE class<=3 GROUP BY class

C. SELECT AVG(成绩) FROM 成绩表 WHERE class<=3 order by class

D. SELECT AVG(成绩) FROM 成绩表 HAVING class <=3 GROUP BY class

答案:B

下列sql语句中哪条语句可为用户zhangsan分配数据库userdb表userinfo的查询和插入数据权限()。

A. grant select,insert on userdb.userinfo to'zhangsan'@'localhost'

B. grant'zhangsan'@'localhost'to select,insert for userdb.userinfo

C. grant select,insert on userdb.userinfo for'zhangsan'@'localhost'

D. grant'zhangsan'@'localhost'to userdb.userinfo on select,insert

答案:A

下列对于数据库索引的说法一定是错误的()

A. 索引可以提升查询,分组和排序的性能

B. 索引不会影响表的更新、插入和删除操作的效率

C. 全表扫描不一定比使用索引的执行效率低

D. 对于只有很少数据值的列,不应该创建索引

答案:B

在oracle中,下面哪个SQL命令用来向表中添加列()

A. MODIFY TABLE TableName ADD COLUMN ColumnName

B. MODIFY TABLE TableName ADD ColumnName

C. ALTER TABLE TableName ADD COLUMN ColumnName

D. ALTER TABLE TableName ADD ColumnName Type

答案:D

有订单表orders,包含字段用户信息userid,字段产品信息productid,以下语句能够返回至少被订购过两次的productid?

A. select productid from orders where count(productid)>1

B. select productid from orders where max(productid)>1

C. select productid from orders where having count(productid)>1 group by productid

D. select productid from orders group by productid having count(productid)>1

答案:D

在手机开发中常用的数据库是 ___

A. SQLite

B. Oracle

C. Sql Server

D. Db23

答案:A

下列哪个特性与此事相关:已落实的事务会保证所有操作均已完成,并且在事务回滚中,所有操作产生的影响均已得到恢复?

A. 隔离性

B. 原子性

C. 一致性

D. 持久性

答案:B

athletes 表包含运动员姓名,年纪和代表国家。下面哪个查询可以找出代表每个国家最年轻的运动员情况?

A. SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT country, min(age) FROM athletes GROUP BY country)

B. SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT min(age), country FROM athletes GROUP BY country)

C. SELECT name, country, age FROM athletes WHERE (country, age) IN (SELECT country, min(age) FROM athletes) GROUP BY country

D. SELECT name, country, age FROM athletes WHERE age IN (SELECT country, min(age) FROM athletes GROUP BY country)

答案:A

执行以下 SQL ,下面哪个名字会被查询出来()

SELECT FirstName FROM StaffList WHERE FirstName LIKE’_A%’

A. Allen

B. CLARK

C. JACKSON

D. David

答案:C

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

杨辉三角的变形

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

链接:杨辉三角的变形__牛客网
来源:牛客网
 

以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。

求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。

数据范围: 1≤n≤109 1 \le n \le 10^9 \ 1≤n≤109 

输入描述:

输入一个int整数

 
输出描述:

输出返回的int值

示例1

输入

4

输出

3

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int line = sc.nextInt();
            System.out.println(method(line));
        }
    }
    
    private static int method(int row) {
        // 当 line 小于 2 时,直接返回 -1
        if (row < 2) {
            return -1;
        }
        // 每一行第二个数为 n - 1,因此如果第二个数为偶数,就无须再进行,直接返回结果
        if ((row - 1) % 2 == 0) {
            return 2;
        }
        // 其余情况从每行第三个数开始使用递归计算每个位数上的数,如果是偶数则直接返回
        for (int i = 3; i <= row; i++) {
            int num = dataCalc(row, i);
            if (num % 2 == 0) {
                return i;
            }
        }
        
        return -1;
    }
    
    private static int dataCalc(int row, int col) {
        if (col < 2) {
            return col;
        }

        if (col == 2) {
            return row -  1;
        }
        
        if (row == col) {
            return 2 * dataCalc(row - 1, col - 2) + dataCalc(row - 1, col - 1);
        } else {
            return dataCalc(row - 1, col -2) + dataCalc(row - 1, col - 1) + dataCalc(row - 1, col);
        }
    }
}

计算某字符出现的次数
题目描述:写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
 数据范围:1<=n<=1000
 输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。 
输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)
 
   
 
   
public class Main11 {

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        String str=scanner.nextLine();

        char ch=scanner.nextLine().charAt(0);

        int count=0;

        if (ch>='a' &&ch<='z'){

         //调用小写的

            count=countMin(str,ch);

        }else {

         //调用大写的

            count=countMax(str,ch);

        }

        System.out.println(count);

    }


    //大写

    public static int countMax(String str,char ch){

        //将字符串转化为大写的

        str=str.toUpperCase();

        int count=0;

        for (int i = 0; i < str.length(); i++) {

            char ch2=str.charAt(i);

            if (ch==ch2){

                count++;

            }

        }

        return count;

    }

    //小写

    public static int countMin(String str,char ch){

//将字符串转化为小写的

        str=str.toLowerCase();

        int count=0;

        for (int i = 0; i < str.length(); i++) {

            char ch2=str.charAt(i);

            if (ch==ch2){

                count++;

            }

        }

        return count;

    }

}
 
  

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