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;
    }
}
相关文章
|
3月前
|
Java 开发者
在Java面向对象编程的广阔海洋中,多态犹如一股深邃的潜流,它推动着代码从单一走向多元,从僵化迈向灵活。
在Java面向对象编程的广阔海洋中,多态犹如一股深邃的潜流,它推动着代码从单一走向多元,从僵化迈向灵活。
41 7
|
3月前
|
Java 开发者
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
那些年,我们一同踏入Java编程的大门,多态,这个充满魔法的名字,曾无数次点亮我们探索面向对象编程的热情。
48 5
|
3月前
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
5月前
|
Java
Java面向对象编程新篇章:多态,你准备好了吗?
【6月更文挑战第17天】Java的多态性是面向对象编程的核心,它允许通过统一的接口处理不同类型的对象。例如,在一个虚拟宠物游戏中,抽象类`Pet`定义了`speak()`方法,猫、狗和鹦鹉等子类各自重写此方法以实现独特叫声。在`main`方法中,使用`Pet`类型的引用创建子类对象并调用`speak()`,多态机制确保调用实际对象的方法,实现代码的灵活性和可扩展性。通过多态,我们能以更低的耦合度和更高的复用性编写更优雅的代码。
36 3
|
5月前
|
Java
Java 面向对象编程:父类与子类的“传承”与“创新”之路
【6月更文挑战第16天】Java 中的父类与子类展示了面向对象的“传承”与“创新”。子类`Dog`继承`Animal`,获取其属性和方法如`name`和`makeSound`。子类通过`@Override`增强`makeSound`,显示多态性。设计父类时应考虑普遍性,子类创新专注自身特性,遵循继承最佳实践,利用复用提升效率,构建可维护的软件系统。
152 57
|
3月前
|
存储 前端开发 JavaScript
【前端学java】面向对象编程基础-类的使用(4)
【8月更文挑战第9天】面向对象编程基础-类的使用
19 0
【前端学java】面向对象编程基础-类的使用(4)
|
3月前
|
Java 程序员 开发者
Java的面向对象编程:从基础到深入
【8月更文挑战第21天】在本文中,我们将探讨Java的面向对象编程(OOP)的核心概念,包括类、对象、继承、多态和封装。我们将通过实例和比喻,以通俗易懂的方式,深入理解这些概念的内涵和意义,以及它们如何影响我们的编程思维和实践。无论你是初学者还是有经验的开发者,这篇文章都将帮助你更深入地理解Java的OOP,并启发你思考如何在你的项目中应用这些概念。
|
4月前
|
Java API 项目管理
Java中的函数式编程与传统面向对象编程对比
Java中的函数式编程与传统面向对象编程对比
|
5月前
|
Java 安全 索引
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
【6月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
62 5
滚雪球学Java(48):面向对象编程中的StringBuffer类详解
|
5月前
|
存储 安全 Java
深入探讨 Java 封装机制:为何它是面向对象编程的核心?
【6月更文挑战第16天】Java的封装是OOP核心,它将数据和操作数据的方法打包在类中,隐藏实现细节并提供公共接口。例如,`Student`类封装了私有属性`name`和`age`,通过`get/set`方法安全访问。封装提升代码稳定性、可维护性和复用性,防止外部直接修改导致的错误,确保数据安全。它是面向对象编程优于传统编程的关键,促进高效、可靠的开发。
59 7