Java面向对象编程

2023-10-31

用命令方式运行以下代码的运行结果是()

public class f{
 public static void main(String[] args){
 String foo1 = args[1];
 String foo2 = args[2];
 String foo3 = args[3];
 }
}

命令: java f a b c

A. 程序编译错误

B. a b c

C. 程序运行错误

D. f

答案:C

若有定义语句: int a=10 ; double b=3.14 ; 则表达式 'A'+a+b 值的类型是()

A. char

B. int

C. double

D. float

答案:C

指出下列程序运行的结果()

public class Example{
 String str = new String("good");
 char[ ] ch = { 'a' , 'b' , 'c' };
 public static void main(String args[]){
 Example ex = new Example();
 ex.change(ex.str,ex.ch);
 System.out.print(ex.str + " and ");
 System.out.print(ex.ch);
}
 public void change(String str,char ch[ ]){
 str = "test ok";
 ch[0] = 'g';
}
}

A. good and abc

B. good and gbc

C. test ok and abc

D. test ok and gbc

答案:B

下列说法正确的是

A. 在类方法中可用this来调用本类的类方法

B. 在类方法中调用本类的类方法可直接调用

C. 在类方法中只能调用本类的类方法

D. 在类方法中绝对不能调用实例方法

答案:B

可将语句块或方法设为同步使用的语句是()

A. synchronized

B. static

C. abstract

D. final

答案:A

已知如下类说明:

public class Test{
 private float f=1.0f;
 int m=12;
 static int n=1;
 public static void main(String args[]){
 Test t=new Test();
 }
}

如下哪些使用是正确的()

A. t.f = 1.0

B. this.n

C. Test.m

D. Test.n

答案:D

有以下代码:

class A{
public A(String str){
}
}
public class Test{
public static void main(String[] args) {
A classa=new A("he");
A classb=new A("he");
System.out.println(classa==classb);
}
}

请问输出的结果是:

A. false

B. true

C. 报错

D. 以上选项都不正确

答案:A

以下哪项不属于java类加载过程?

A. 生成java.lang.Class对象

B. int类型对象成员变量赋予默认值

C. 执行static块代码

D. 类方法解析

答案:B

如果一个方法或变量是"private"访问级别,那么它的访问范围是:

A. 在当前类,或者子类中

B. 在当前类或者它的父类中

C. 在当前类,或者它所有的父类中

D. 在当前类中

答案:D

java中下面哪个能创建并启动线程()

public class MyRunnable implements Runnable {
 public void run() {
 //some code here
 }
}

A. new Runnable(MyRunnable).start()

B. new Thread(MyRunnable).run()

C. new Thread(new MyRunnable()).start()

D. new MyRunnable().start()

答案:C

不用加减乘除做加法
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 
数据范围:两个数都满足-10<=n<=1000
 进阶:空间复杂度 O(1),时间复杂O(1)
 
 
public class Solution4 {

    public int Add(int num1,int num2){

        while (num2 !=0){

            int a=num1 ^num2;

            int b=(num1 & num2)<<1;

            num1=a;

            num2=b;

        }

        return num1;

    }

}
三角形
题目描述:给定三条边,请你判断一下能不能组成一个三角形。 
输入描述:输入包含多组数据,每组数据包含三个正整数a、b、c(1≤a, b, c≤10^100)。 
输出描述:对应每一组数据,如果它们能组成一个三角形,则输出“Yes”;否则,输出“No”。

 

public class Main43 {

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        while (scanner.hasNext()){

            BigDecimal a=scanner.nextBigDecimal();

            BigDecimal b=scanner.nextBigDecimal();

            BigDecimal c=scanner.nextBigDecimal();

            if (a.add(b).compareTo(c) >0 && a.add(c).compareTo(b) >0 && b.add(c).compareTo(a) >0){

                System.out.println("Yes");

            }else {

                System.out.println("No");

            }

        }

    }

}
反转部分单链表
题目描述:给定一个单链表,在链表中把第 L 个节点到第 R 个节点这一部分进行反转。
 输入描述:n 表示单链表的长度。 val 表示单链表各个节点的值。L 表示翻转区间的左端点。 R 表示翻转区间的右端点。 
输出描述:在给定的函数中返回指定链表的头指针。

 

public class Main44 {

    //首先定义单链表的节点

    static class Node{

        int val;

        Node next;

        public Node(int val){

            this.val=val;

        }

    }

    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        //获取当前链表的节点个数

        int n=scanner.nextInt();

        //吃掉nextInt方法的换行符

        scanner.nextLine();

        // "1 2 3 4 5"

        String nodeValue=scanner.nextLine();

        String[] nodes=nodeValue.split(" ");

        //进行链表的创建

        Node dummyHead=new Node(-1);

        Node tail=dummyHead;

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

            //链表的尾插

            Node node=new Node(Integer.parseInt(nodes[i]));

            tail.next=node;

            tail=node;

        }

        //获取左区间和右区间的范围  "1 3"

        String part=scanner.nextLine();

        //1

        int left=Integer.parseInt(part.split(" ")[0]);

        //3

        int right=Integer.parseInt(part.split(" ")[1]);

        Node newHead=reversePartList(dummyHead.next,left,right);

        //进行输出处理

        while (newHead !=null){

            System.out.print(newHead.val+" ");

            newHead=newHead.next;

        }

    }



    public  static Node reversePartList(Node head,int left,int right){

        Node dummyHead=new Node(-1);

        dummyHead.next=head;

        Node prev=dummyHead;

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

            prev=prev.next;

        }

        //prev引用指向待反转区间的前驱节点,cur引用就是待反转区间的第一个节点

        Node cur=prev.next;

        for (int i = left; i < right; i++) {

            Node third=cur.next;

            //先把third引用从链表中删除

            cur.next=third.next;

            //再把third节点插入prev中

            third.next=prev.next;

            prev.next=third;

        }

        return dummyHead.next;

    }

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

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

  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • FileNotFoundException - Struts2 文件上传

    Strange FileNotFoundException使用Struts2上传文件时 这是 JSP 的一部分
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • ArrayList.clear() 和 ArrayList.removeAll() 有什么区别?

    假如说arraylist定义为ArrayList
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向
  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib

随机推荐

  • chrome浏览器 docker_使用docker安装elasticsearch

    1 使用docker安装 拉取镜像docker pull elasticsearch 6 5 4 创建容器docker create name elasticsearch net host e discovery type single n
  • 通过这些case,我把项目LCP时间减少了1.5s

    您好 如果喜欢我的文章 可以关注我的公众号 量子前端 将不定期关注推送前端好文 前言 最近在做公司几个项目性能优化 整理出一些比较有用且常见的case来分享一下 A项目优化 白屏相关 DNS预连接 资源预解析 对于公共域名g alicdn
  • Python 大数据分析教程_1_大数据分析概述

    本章内容 理解数据 认识数据分析 数据分析工具Python 集成开发环境和文本编辑器 使用Jupter Notebook 理解数据 需要分析的数据一般是结构化的 半结构化的 非结构化的数据集合 大部分数据集都能够被转化为更加适合分析和建模的
  • openwrt路由器samba拒绝访问

    openwrt路由器samba拒绝访问 第一步 第一步 检查软件包 进入路由器web后台页面 系统 软件包 按ctrl f键查找samba软件包安装情况 例如 我的系统就有 autosamba luci app samba luci i18
  • Postfix+Cyrus-IMAP + Cyrus-SASL + MySQL + IMP 配置指南

    CNGNU Postfix邮件系统系列指南之一 Postfix Cyrus IMAP Cyrus SASL MySQL IMP完全指南 作者 王兴宇
  • iphonex苹果手机Exchange邮箱设置同步的邮件天数

    苹果手机Exchange邮件设置 同步的邮件天数 步骤 1 找到手机 设置 2 找到 账户与密码 3 找到 Exchage 4 找到 要同步的邮件天数 5 选择要保留的天数
  • leetcode shell 4道题

    最近在学习shell 发现leetcode上shell的4道题还是比较不错的 整理了一下 193 Valid Phone Numbers 电话号码匹配 easy grep 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0
  • IOU

    IOU 即交并比 应用 NMS 过滤重叠框 mAP import numpt as np def get IOU pred bbox gt bbox ixmin max pred bbox 0 gt bbox 0 iymin max pre
  • 【Java8日期】一文搞定Java8日期新特性

    目录标题 前言 Java8日期类型 简介 1 核心类 2 关键点 LocalDate 1 获取当前日期 年 月 日 2 获取月 周的第几天 3 随意创建日期 4 比较两个LocalDate是否相同 5 比较两个LocalDate的大小 6
  • Ant Design Pro入门介绍

    官方文档地址 https pro ant design zh CN 应用介绍 Ant Design Pro是一个企业级中后台前端 设计解决方案 基于React的中后台管理控制台的脚手架 能帮助我们快速的搭建企业级中后台管理系统 今天就为大家
  • python中pandas读写数据详解

    Pandas 库读取数据 Pandas 是一种开源数据分析工具 可以帮助我们更方便地处理和分析数据 Pandas 提供了许多函数来读取各种格式的数据 例如 CSV Excel SQL 等 读取 CSV 文件 CSV 文件是一种常用的数据格式
  • Win10 11 解决docker一直docker desktop starting和设置页面进不去问题

    PowerShell输入 注意一定是powershell输入命令 这个和cmd不一样 2 输入代码 cd C Program Files Docker Docker DockerCli exe SwitchDaemon 3 成功
  • 在WSL中安装zsh终端

    cmder中设置 新增task 名称为wsl bash 右下方的方框内填写 ConEmuBaseDirShort wsl PATH ConEmuBaseDirShort conemu cyg 64 exe wsl distro guid f
  • selenium之 定位以及切换frame(iframe)

    更多关于python selenium的文章 请关注我的专栏 Python Selenium自动化测试详解 总有人看不明白 以防万一 先在开头大写加粗说明一下 frameset不用切 frame需层层切 很多人在用selenium定位页面元
  • Android Studio引入jar包和so文件(armeabi和armeabi-v7a)

    一 引用jar文件 1 将jar文件复制 粘贴到app的libs目录中 2 右键点击jar文件 并点击弹出菜单中的 Add As Library 将jar文件作为类库添加到项目中 3 选择指定的类库 注 如果不执行2 3步 jar文件将不起
  • JVM虚拟机栈的栈帧结构中动态链接的理解

    深入理解Java虚拟机 书中原文写到 每个栈帧都包含一个指向运行时常量池中该栈帧所属方法的引用 持有这个引用是为了支持方法调用过程中的动态链接 Dynamic Linking 通过第六章的讲解 我们知道Class文件的常量池中存有大量的符号
  • HDU--3790:最短路径问题 (Dijkstra算法)

    1 题目源地址 http acm hdu edu cn showproblem php pid 3790 2 基本题意 找出最短路径 若有多条最短路径 输出那条花费最小的 注意过滤重边 3 源代码 HOJ 3790 最短路径问题 Dijks
  • <C++>学习:栈(Stack)操作

    前言 人生如逆旅 我亦是行人 容器适配器是一个封装了序列容器的类模板 它在一般序列容器的基础上提供了一些不同的功能 之所以称作适配器 是因为它可以通过适配容器现有的接口来提供不同的功能 stack lt T gt 容器适配器中的数据是以 L
  • 深入浅出MySQL索引(二)InnoDB存储引擎的索引

    深入浅出MySQL索引 一 常见的索引模型 深入浅出MySQL索引 二 InnoDB存储引擎的索引 深入浅出MySQL索引 二 InnoDB存储引擎的索引 文章目录 深入浅出MySQL索引 二 InnoDB存储引擎的索引 一 InnoDB的
  • Java面向对象编程

    用命令方式运行以下代码的运行结果是 public class f public static void main String args String foo1 args 1 String foo2 args 2 String foo3 a