Java面向对象编程

2023-11-12

一个关系数据库文件中的各条记录 () 。

A. 前后顺序不能任意颠倒,一定要按照输入的顺序排列

B. 前后顺序可以任意颠倒,不影响库中的数据关系

C. 前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同

D. 前后顺序不能任意颠倒,一定要按照关键字字段值的顺序排列

答案:B

一名员工可以使用多台计算机,每台计算机只能由一名员工使用,则实体员工和计算机间的联系是( )

A. 一对多

B. 多对多

C. 多对一

D. 一对一

答案:A

下列关于视图的说法错误的是:

A. 视图是从一个或多个基本表导出的表,它是虚表

B. 视图一经定义就可以和基本表一样被查询、删除和更新

C. 某一用户可以定义若干个视图

D. 视图可以用来定义新的视图

答案:B

在Mysql中,订单表 ( 订单号,雇员代号,地区代号,订购日期 ) 中订单号为主键,要删除订单中前三年以前的信息, SQL 为:

A. delete from订单表where订购日期<getdate()+3
B. delete from订单表where 订购日期<DATEADD(yy,3.getdate())

C. delete from订单表where订购日期<getdate()-3
D.delete from订单表where订购日期<DATEADD(yy,-3,getdate())

答案:D

负责数据库中查询操作的数据库语言是( )。

A. 数据定义语言

B. 数据管理语言

C. 数据操纵语言

D. 数据控制语言

答案:C

数据库管理系统是( )。

A. 操作系统的一部分

B. 在操作系统支持下的系统软件

C. 一种编译系统

D. 一种操作系统

答案:B

SQL 语句中修改表结构的命令是()

A. MODIFY TABLE

B. MODIFY STRUCTURE

C. ALTER TABLE

D. ALTER STRUCTURE

答案:C

在sql数据库中,哪个语句能校验整数列 i 的值不小于 1 不大于 10 ?

A. i BETWEEN 1 AND 10

B. i BETWEEN 0 AND 11

C. i IN INTERVAL(0,11)

D. i IN INTERVAL(1,10)

答案:A

在学生表 Student 的系别 (Sdept) 属性中查询信息系 (IS) 、数学系 (MA) 和计算机系 (CS) 的学生姓名 (Sname) 和性别 (Ssex) ,正确的命名格式应为:

A. SELECT Student FROM Sname, Ssex WHERE Sdept IN (‘IS’, ’MA’, ‘CS’)

B. SELECT Sname, Ssex FROM Student WHERE Sdept IN (‘IS’, ’MA’, ‘CS’)

C. SELECT Sname, Ssex FROM Student WHERE Sdept (IS, MA, CS)

D. SELECT Sname, Ssex FROM Student WHERE Sdept LIKE IS, MA, CS

答案:B

SQL 查询语句中 WHERE 、 GROUP BY 、 HAVING 这些关键字区别和用法总结错误的是()

A. HAVING在查询语句中必须依赖于GROUP BY

B. WHERE子句用来限制SELECT语句从表中指定选取的行

C. GROUP BY子句用来分组WHERE子句的输出结果集

D. HAVING子句用来从分组的结果中筛选列

答案:D

参数解析

题目描述:在命令行输入如下命令:

 xcopy /s c:\\ d:\\e,

 各个参数如下:

参数1:命令字xcopy

参数2:字符串/s

参数3:字符串c:\\

参数4: 字符串d:\\e

请编写一个参数解析程序,实现将命令行各个参数解析出来。

 解析规则:

 1.参数分隔符为空格

2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s "C:\\program files" "d:\"时,参数仍然是4个,第3个参数应 该是字符串C:\\program files,而不是C:\\program,注意输出参数时,需要将""去掉,引号不存在嵌套情况。

 3.参数不定长

4.输入由用例保证,不会出现不符合要求的输入 数据范围:字符串长度:1<=N<=1000

 进阶:时间复杂度:O(N),空间复杂度:O(N)

 输入描述:输入一行字符串,可以有空格

输出描述:输出参数个数,分解后的参数,每个参数都独占一行


public class Main {
   
//参数解析
   
public static void main(String[] args) {
       
Scanner scanner=new Scanner(System.in);
       
String str=scanner.nextLine();
       
int count=0;
       
//计算空格的个数
       
//参数的总个数=空格个数+1 

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

            //遇到左引号的时候,要一直遍历,直到遇到右引号

            //这样才说明,双引号中的参数遍历完了

            if (str.charAt(i) =='"'){//左引号

                do {

                    i++;

                }while (str.charAt(i)=='"');

            }

            //碰到双引号以外的空格,count++

            if (str.charAt(i)==' '){

                count++;

            }

        }

        //参数的总个数=空格个数+1

        System.out.println(count+1);

        int flag=1;



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

            //当碰到左引号的时候,falg变为0,当碰到右引号的时候,flag变为1

            //说明在flag==0的时候,我们一直在遍历双引号当中的参数

            if (str.charAt(i)=='"'){

                flag^=1;

                //flag变为1

            }

            //除了双引号中的空格和双引号,其他字符都输出

            if (str.charAt(i) !=' '&& str.charAt(i) !='"'){

                System.out.print(str.charAt(i));

            }

            //双引号里面的空格需要输出

            if (str.charAt(i)==' ' && flag==0){

                System.out.print(str.charAt(i));

            }

            //碰到双引号以外的空格要换行

            if (str.charAt(i)==' '&& flag==1){

                System.out.println();

            }

        }

    }

}

//xcopy /s c:\\ d:\\e

跳石板

题目描述:小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......

 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和 本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。

 例如: N = 4,M = 24:

 4->6->8->12->18->24

于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板

输入描述:输入为一行,有两个整数N,M,以空格隔开。 (4 ≤ N ≤ 100000) (N ≤ M ≤ 100000)

输出描述:输出小易最少需要跳跃的步数,如果不能到达输出-1



public class Main2 {

    //跳石板

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        int n=scanner.nextInt();

        int m=scanner.nextInt();

        //m块石板,为了将石板的编号,与数组的下标对应在一起,所以,定义数组的长度为m+1

        int[] step=new int[m+1];

        for (int i = 0; i < m+1; i++) {

            step[i]=Integer.MAX_VALUE;//赋初始值

        }

        //从第n块石板开始跳跃

        step[n]=0;



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

            if (step[i]==Integer.MAX_VALUE){

                //如果是最大值,那么,没有办法跳跃到该位置处

                continue;

            }

            //i代表当前石板的编号

            List<Integer> list=div(i);

            //j代表一次可以跳几块石板
 
 

            for (int j:list) {

                if (i+j<=m && step[i+j]!=Integer.MAX_VALUE){

                    step[i+j]=Math.min(step[i+j],step[i]+1);

                    //最小值

                }else if (i+j<=m){

                    step[i+j]=step[i]+1;

                }

            }

        }

        if (step[m]==Integer.MAX_VALUE){

            System.out.println(-1);

        }else {

            System.out.println(step[m]);

        }

    }

    // i 的约数 ,List<Integer>相当于一个数组,用来存放约数

    public static List<Integer> div(int num){

        List<Integer> list=new ArrayList<>();

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

            if (num % i ==0){

                list.add(i);

                //i相对应的num/i也是约数,但是需要注意的是i不能相同!!

                if (num/i !=i){

                    list.add(num/i);

                }

            }

        }

        return list;

    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java面向对象编程 的相关文章

随机推荐

  • 线段树的学习

    在力扣刷题中遇到一道 我的日程安排表 的题 经过求解和资料的参考利用线段树的方法解决 以下对线段树的知识进行一个简单的总结 线段树的定义 线段树是一种二叉搜索树 与区间树相似 它将一个区间划分成一些单元区间 每个单元区间对应线段树中的一个叶
  • 字符游戏-智能蛇的学习

    目标 实现可以智能化移动 不撞墙 自由追寻果实的贪吃蛇程序 即拥有感知 决策 行动的能力 学习过程 根据index中sin曲线的绘制过程可知我们可以知道可以用while循环反复打印的方式达到刷屏的效果 这样 我们将贪吃蛇移动的每一步都单独打
  • Nginx禁止访问某个目录或某个后缀文件

    1 Nginx禁止访问某个目录或某个后缀文件 1 禁止访问某些后缀文件 如php zip location php zip deny all 2 禁止访问某个目录下的某些后缀文件 location wp content uploads wp
  • 带参数的main函数

    为了说明带参数的main函数 我们首先来学习一下有关命令行的概念 命令行 在操作系统状态下 为执行某个程序而键入的一行字符称为命令行 命令行的一般形式为 命令名 参数1 参数2 参数3 参数n 参数之间以一个或多个空格隔开 例如 C gt
  • 面试3--智能指针

    面试题目3 智能指针有哪些 share 和unique有什么区别 如何实现一个unique 概念 智能指针是一个类 这个类的构造函数中传入一个普通指针 析构函数中释放传入的指针 智能指针的类都是栈上的对象 所以当函数 或程序 结束时会自动被
  • R小姐:mice 多重插补

    文章名称 mice Multivariate Imputation by Chained Equations in R 文章链接 https www jstatsoft org article view v045i03 加载mice包 li
  • SpringMVC学习(二)--前后端传值

    1 前端向后端传值 Controller public class TestController RequestMapping test 如果想要获得前台的参数 可直接定义 名字必须一样 public String test String
  • Spring Boot入门教程

    好的 下面是一份Spring Boot入门教程 希望能对您有所帮助 Spring Boot入门教程 1 什么是Spring Boot Spring Boot是一款用于构建独立的 生产级别的Spring应用程序的框架 它可以让我们更快地开发S
  • Jquery.Pagination分页插件的学习

    http blog csdn net xiaochengzi 2015 article details 51762432 编程小白 文章中出现的谬误希望大神指点 工作接到一个任务 需要把现在pagination的样式修改成前端给的样式 当时
  • WolframTones:用一种新科学谱写一种新音乐

    转载自 36氪人法地 地法天 天法道 道法自然 老子 道德经 即便你不信上帝 不信真主 不信佛陀 不信妈祖 总有种敬畏让你挥之不去 余音绕梁 总是让你情不自禁地发出赞美 2002年著名科学家发表了 一种新科学 一书 很快成为人类知识领域的一
  • Vue - 去掉路由中的#号

    vue router默认是hash模式 在hash模式下 是会有 号在URL上 可以在路由的第一行添加 mode history来去掉 号 const router new Router mode history routes 一开始用的t
  • nginx实践(一)、安装和部署

    很长一段时间没有更新blog 因为这一段时间 都在研究一个实时事件处理应用 计划把该实时事件处理服务 修改为分布式服务 相关内容以后再与大家汇报 好了 因为工作缘故 要分析一个使用nginx的应用 所以从本节开始 介绍一下nginx的相关实
  • H5页面在ios的浏览里返回不刷新页面,解决浏览器自带缓存的问题。

    1 利用pageshow来解决 pageshow的web api pageshow Web API 接口参考 MDN 2 解决 在app vue里面 isPageHide false 定义变量 created void window add
  • Connections between cities 【HDU - 2874】【在线LCA算法】

    题目链接 昨天刚学了在线LCA 今天就来硬刚这道题还是花了一整天的时间 不过对于LCA却有了更多的理解 这道题在讲述不同根的做法上尤其是很好的 题目告诉我们有N个节点和M条边 以及C次询问 每次查询的是 L R 这两个节点间的距离 还是算得
  • dbeaver 配置mysql数据库驱动

    右键点击要数据库连接选择 编辑连接 然后点击 编辑驱动设置 从mysql8版本后 mysql的驱动类名发生改变 变成了com mysql cj jdbc Driver 所以如果要连接的数据库版本在8之前 需将 设置 界面的 类名 处改为 c
  • 华为od机试 Python【快递装载】

    前言 本题使用python解答 如果需要Java版本 请参考 点我 题目 快递需要按照一定的规则装载 所有的快递放在长方体的盒子当中 我们的需要是尽可能装载更多的快递 并且不能让货车超载 需要计算最多能装多少个快递 快递数最多1000个 货
  • 双列集合系列之Map集合的初了解

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于双列集合的相关操作吧 目录 Welcome Huihui s Code World 顶级接口Map 一 Map集合的特点 二 Map集合的常见子类 HashM
  • xss渗透(跨站脚本攻击)

    一 什么是XSS XSS全称是Cross Site Scripting即跨站脚本 当目标网站目标用户浏览器渲染HTML文档的过程中 出现了不被预期的脚本指令并执行时 XSS就发生了 这里我们主要注意四点 1 目标网站目标用户 2 浏览器 3
  • 项目管理中什么最重要?

    被问过多次这个问题 尤其是在面试的时候 有说需求最重要 有说控制最重要 有的冠冕堂皇 来个成本 质量 时间三要素 美其名曰都重要 免得以偏概全 经多方求证 思索 结合十余年的项目管理经历 敝以为 项目管理中干系人管理最重要 尤其是关键干系人
  • Java面向对象编程

    一个关系数据库文件中的各条记录 A 前后顺序不能任意颠倒 一定要按照输入的顺序排列 B 前后顺序可以任意颠倒 不影响库中的数据关系 C 前后顺序可以任意颠倒 但排列顺序不同 统计处理的结果就可能不同 D 前后顺序不能任意颠倒 一定要按照关键