Java面向对象编程(17)

简介: Java面向对象编程(17)

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

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

杨辉三角的变形

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

来源:牛客网

 

以上三角形的数阵,第一行只有一个数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;
    }
}
相关文章
|
6天前
|
设计模式 安全 Java
面向对象编程的精髓:Java设计模式 - 原型模式(Prototype)完全参考手册
【4月更文挑战第7天】原型模式是OOP中的创建型设计模式,用于通过复制现有实例创建新实例,尤其适用于创建成本高或依赖其他对象的情况。它包括Prototype接口、ConcretePrototype实现和Client客户端角色。优点是性能优化、避免子类化和动态增加产品族。实现包括定义原型接口、实现具体原型和客户端调用克隆方法。最佳实践涉及确保克隆正确性、选择深拷贝或浅拷贝及考虑线程安全。但需注意克隆方法管理、性能开销和循环引用等问题。在Java中,实现Cloneable接口和覆盖clone方法可实现原型模式。
|
6天前
|
安全 Java 数据安全/隐私保护
|
6天前
|
Java
04|零基础玩转面向对象编程:Java OOP
04|零基础玩转面向对象编程:Java OOP
7 0
|
6天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
6天前
|
存储 Java 程序员
Java面向对象编程的基础概念解析
Java面向对象编程的基础概念解析
17 0
|
6天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
31 1
|
6天前
|
Java
Java从入门到精通:1.1.2深入理解Java的面向对象编程概念
Java从入门到精通:1.1.2深入理解Java的面向对象编程概念
|
6天前
|
Java Scala C#
Java 17 新特性揭秘:密封类的华丽登场,面向对象编程再进化
Java 17 新特性揭秘:密封类的华丽登场,面向对象编程再进化
28 0
|
6天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
95 3
|
6天前
|
Java
Java面向对象编程
Java面向对象编程