JAVA编程题系列——涵盖几乎所有java内容
自己定义一个类,有static属性和构造方法,有构造方法重载,有其他方法(方法有对String类型操作)
public class MyClass {// 静态属性public static String staticProperty = "Static Property";// 成员变量private String value;// 构造方法public MyClass(String value) {this.value = value;}// 构造方法重载public MyClass(int value) {this.value = String.valueOf(value);}// 其他方法,对字符串类型进行操作public void manipulateString(String newValue) {this.value += newValue;}// Getter方法public String getValue() {return value;} }public class Main {public static void main(String[] args) {// 调用不同的构造方法生成两个对象MyClass obj1 = new MyClass("Hello");MyClass obj2 = new MyClass(123);// 调用其他方法obj1.manipulateString(" World");obj2.manipulateString("456");// 输出结果System.out.println("Value of obj1: " + obj1.getValue()); // 输出:Hello WorldSystem.out.println("Value of obj2: " + obj2.getValue()); // 输出:123456// 访问静态属性System.out.println("Static property: " + MyClass.staticProperty); // 输出:Static Property} }
定义一个Person类,有各种属性和行为,对属性建立setter和getter方法。对其中一个行为进行重载,建立一个TestPerson类,在main函数中建立Person对象,并调用对象的行为
// Person 类 public class Person {// 属性private String name;private int age;private String gender;// 构造函数public Person(String name, int age, String gender) {this.name = name;this.age = age;this.gender = gender;}// Getter 和 Setter 方法public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}// 行为方法(重载)public void introduce() {System.out.println("Hello, I am " + name + ", " + age + " years old, " + gender + ".");}// 重载 introduce 方法public void introduce(String occupation) {System.out.println("Hello, I am " + name + ", " + age + " years old, " + gender + ".");System.out.println("I am a " + occupation + ".");} }// TestPerson 类 public class TestPerson {public static void main(String[] args) {// 创建 Person 对象Person person1 = new Person("Alice", 30, "Female");// 调用对象的行为person1.introduce();// 使用重载方法person1.introduce("software engineer");// 测试 Getter 和 Setter 方法System.out.println("Before setting age: " + person1.getAge());person1.setAge(35);System.out.println("After setting age: " + person1.getAge());} }
自行定义任意一个抽象的父类,有属性和方法,再自行定义两个子类,子类有不同于父类的属性和方法。同时重写父类的一个方法。用多态的形式调用子类方法,方法中涉及基本类型的包装类。写出Java程序
abstract class Shape {// 属性protected double area;// 抽象方法public abstract void calculateArea();// 方法public void displayArea() {System.out.println("Area: " + area);} }class Circle extends Shape {// 子类属性private double radius;// 构造方法public Circle(double radius) {this.radius = radius;}// 重写父类方法@Overridepublic void calculateArea() {area = Math.PI * radius * radius;}// 子类方法public void displayRadius() {System.out.println("Radius: " + radius);} }class Rectangle extends Shape {// 子类属性private double length;private double width;// 构造方法public Rectangle(double length, double width) {this.length = length;this.width = width;}// 重写父类方法@Overridepublic void calculateArea() {area = length * width;}// 子类方法public void displayDimensions() {System.out.println("Length: " + length + ", Width: " + width);} }public class Main {public static void main(String[] args) {// 使用多态性调用子类方法Shape circle = new Circle(5.0);circle.calculateArea();circle.displayArea(); // 输出:Area: 78.53981633974483// 使用多态性调用子类方法Shape rectangle = new Rectangle(4.0, 6.0);rectangle.calculateArea();rectangle.displayArea(); // 输出:Area: 24.0} }
输入一个日期格式为xxxx-xx-xx,如果格式不正确,抛出一个自定义日期格式异常,如果格式正确,请输出:你输入的2023-01-01是兔年,星期日,然后每隔一秒钟,输出现在是2024年2月26日,**时**分**秒
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;class InvalidDateFormatException extends Exception {public InvalidDateFormatException(String message) {super(message);} }public class Main {public static void main(String[] args) {try {String inputDate = "2023-01-01";validateDateFormat(inputDate);// 输出输入日期信息SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Date date = dateFormat.parse(inputDate);Calendar calendar = Calendar.getInstance();calendar.setTime(date);int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH) + 1;int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);String animal = getChineseZodiac(year);String dayOfWeekString = getDayOfWeekString(dayOfWeek);System.out.println("你输入的" + inputDate + "是" + animal + "年," + dayOfWeekString);// 模拟每隔一秒钟输出当前日期时间while (true) {Thread.sleep(1000); // 等待1秒calendar.add(Calendar.SECOND, 1); // 增加1秒year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH) + 1;int day = calendar.get(Calendar.DAY_OF_MONTH);int hour = calendar.get(Calendar.HOUR_OF_DAY);int minute = calendar.get(Calendar.MINUTE);int second = calendar.get(Calendar.SECOND);System.out.printf("现在是%d年%d月%d日,%02d时%02d分%02d秒%n", year, month, day, hour, minute, second);}} catch (InvalidDateFormatException e) {System.out.println(e.getMessage());} catch (ParseException | InterruptedException e) {e.printStackTrace();}}private static void validateDateFormat(String inputDate) throws InvalidDateFormatException {if (!inputDate.matches("\\d{4}-\\d{2}-\\d{2}")) {throw new InvalidDateFormatException("日期格式错误,请输入格式为xxxx-xx-xx的日期。");}}private static String getChineseZodiac(int year) {String[] zodiacs = {"鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"};return zodiacs[(year - 1900) % 12];}private static String getDayOfWeekString(int dayOfWeek) {String[] daysOfWeek = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};return daysOfWeek[dayOfWeek - 1];} }
自定义一个类,类中引用了泛型技术。生成几个自定义类的对象,将对象加入到集合的ArrayList或LinkList,并在集合中删除部分对象,最后在集合中删除对象的全部输出,Java程序
import java.util.ArrayList; import java.util.Iterator; import java.util.List;class CustomClass<T> {private T data;public CustomClass(T data) {this.data = data;}public T getData() {return data;}public void setData(T data) {this.data = data;} }public class Main {public static void main(String[] args) {// 创建自定义类的对象CustomClass<Integer> obj1 = new CustomClass<>(1);CustomClass<String> obj2 = new CustomClass<>("Hello");CustomClass<Double> obj3 = new CustomClass<>(3.14);// 创建ArrayList集合List<CustomClass<?>> list = new ArrayList<>();// 将对象添加到集合中list.add(obj1);list.add(obj2);list.add(obj3);// 输出集合中的对象System.out.println("初始集合中的对象:");for (CustomClass<?> obj : list) {System.out.println(obj.getData());}// 删除部分对象list.remove(obj2);// 输出删除部分对象后的集合System.out.println("删除部分对象后的集合:");for (CustomClass<?> obj : list) {System.out.println(obj.getData());}// 删除集合中的全部对象list.clear();// 输出删除全部对象后的集合System.out.println("删除全部对象后的集合:");for (CustomClass<?> obj : list) {System.out.println(obj.getData());}} }
向一个文件输入自己的信息,然后把信息打印出来,打印在终端Java程序
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;public class FileIOExample {public static void main(String[] args) {// 文件路径String filePath = "myInfo.txt";// 向文件输入信息writeToFile(filePath, "Name: John Doe\nAge: 25\nOccupation: Developer");// 从文件读取信息并打印在终端String fileContent = readFromFile(filePath);System.out.println("File Content:\n" + fileContent);}// 向文件写入信息private static void writeToFile(String filePath, String content) {try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {writer.write(content);} catch (IOException e) {e.printStackTrace();}}// 从文件读取信息private static String readFromFile(String filePath) {StringBuilder content = new StringBuilder();try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {String line;while ((line = reader.readLine()) != null) {content.append(line).append("\n");}} catch (IOException e) {e.printStackTrace();}return content.toString();} }
自行设计一个界面,至少包含3个基本的组件,程序包含监听事件,Java程序
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class SimpleGUIExample {public static void main(String[] args) {// 创建 JFrame 实例JFrame frame = new JFrame("Simple GUI Example");// 设置关闭操作frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 创建组件JButton button = new JButton("点击我");JTextField textField = new JTextField(20);JLabel label = new JLabel("显示区域:");// 创建面板JPanel panel = new JPanel();panel.setLayout(new FlowLayout());// 添加组件到面板panel.add(textField);panel.add(button);panel.add(label);// 添加面板到框架frame.getContentPane().add(BorderLayout.CENTER, panel);// 添加按钮点击事件监听器button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 按钮点击时更新标签内容label.setText("显示区域: " + textField.getText());}});// 设置框架大小frame.setSize(300, 150);// 设置框架可见frame.setVisible(true);} }
编写多线程程序,用两种方法(继承Thread,实现Runnable,卡里的前,每增加一元,自己的java技能,每秒钟增加一点
class CardThread extends Thread {private int balance = 0; // 初始卡里的金额private int javaSkill = 0; // 初始Java技能点数public void run() {while (true) {try {Thread.sleep(1000); // 线程休眠一秒钟balance++; // 每秒钟卡里的金额增加一元javaSkill++; // 每秒钟Java技能增加一点System.out.println("卡里的金额:" + balance + " 元,Java技能:" + javaSkill + " 点");} catch (InterruptedException e) {e.printStackTrace();}}} }public class ThreadExample {public static void main(String[] args) {CardThread thread = new CardThread();thread.start(); // 启动线程} }
class CardRunnable implements Runnable {private int balance = 0; // 初始卡里的金额private int javaSkill = 0; // 初始Java技能点数public void run() {while (true) {try {Thread.sleep(1000); // 线程休眠一秒钟balance++; // 每秒钟卡里的金额增加一元javaSkill++; // 每秒钟Java技能增加一点System.out.println("卡里的金额:" + balance + " 元,Java技能:" + javaSkill + " 点");} catch (InterruptedException e) {e.printStackTrace();}}} }public class RunnableExample {public static void main(String[] args) {CardRunnable cardRunnable = new CardRunnable();Thread thread = new Thread(cardRunnable);thread.start(); // 启动线程} }
用循环语句打印A-Z共26个字母
public class PrintAlphabets {public static void main(String[] args) {// Using a for loop to print A-Zfor (char ch = 'A'; ch <= 'Z'; ch++) {System.out.print(ch + " ");}// If you want to print on new lines:/*for (char ch = 'A'; ch <= 'Z'; ch++) {System.out.println(ch);}*/} }
从键盘输入一个整数到变量a,b,c中,然后由小到大的顺序输出
import java.util.Scanner;public class SortNumbers {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 输入三个整数System.out.print("请输入第一个整数 (a): ");int a = scanner.nextInt();System.out.print("请输入第二个整数 (b): ");int b = scanner.nextInt();System.out.print("请输入第三个整数 (c): ");int c = scanner.nextInt();// 关闭输入流scanner.close();// 排序并输出System.out.println("由小到大的顺序输出:");displaySortedNumbers(a, b, c);}private static void displaySortedNumbers(int a, int b, int c) {int temp;// 使用冒泡排序进行排序for (int i = 0; i < 2; i++) {for (int j = 0; j < 2 - i; j++) {if (a > b) {temp = a;a = b;b = temp;}if (b > c) {temp = b;b = c;c = temp;}}}// 输出排序后的结果System.out.println(a + " " + b + " " + c);} }
相关文章:
JAVA编程题系列——涵盖几乎所有java内容
自己定义一个类,有static属性和构造方法,有构造方法重载,有其他方法(方法有对String类型操作) public class MyClass {// 静态属性public static String staticProperty "Static Property";// 成员变量priv…...
【Android12】Monkey压力测试源码执行流程分析
Monkey压力测试源码执行流程分析 Monkey是Android提供的用于应用程序自动化测试、压力测试的测试工具。 其源码路径(Android12)位于 /development/cmds/monkey/部署形式为Java Binary # development/cmds/monkey/Android.bp // Copyright 2008 The Android Open Source Proj…...
Java架构师之路八、安全技术:Web安全、网络安全、系统安全、数据安全等
目录 Web安全: 网络安全: 系统安全: 数据安全: Java架构师之路七、大数据:Hadoop、Spark、Hive、HBase、Kafka等-CSDN博客Java架构师之路九、设计模式:常见的设计模式,如单例模式、工厂模式…...
Codeforces Round 240 (Div. 1) C. Mashmokh and Reverse Operation(分治+逆序对)
原题链接:C. Mashmokh and Reverse Operation 题目大意: 给出一个长度为 2 n 2^{n} 2n 的正整数数组 a a a ,再给出 m m m 次操作。 每次操作给出一个数字 q q q ,把数组分为 2 n − q 2^{n-q} 2n−q 个长度为 2 q 2^{q} 2…...
SpringBoot源码解读与原理分析(三十二)SpringBoot整合JDBC(一)JDBC组件的自动装配
文章目录 前言第10章 SpringBoot整合JDBC10.1 SpringBoot整合JDBC的项目搭建10.1.1 初始化数据库10.1.2 整合项目10.1.2.1 导入JDBC和MySQL驱动依赖10.1.2.2 配置数据源 10.1.3 编写业务代码10.1.3.1 编写与t_user表对应的实体类User10.1.3.2 编写Dao层代码10.1.3.3 编写Servic…...
petalinux_zynq7 驱动DAC以及ADC模块之五:nodejs+vue3实现web网页波形显示
前文: petalinux_zynq7 C语言驱动DAC以及ADC模块之一:建立IPhttps://blog.csdn.net/qq_27158179/article/details/136234296petalinux_zynq7 C语言驱动DAC以及ADC模块之二:petalinuxhttps://blog.csdn.net/qq_27158179/article/details/1362…...
Android java中内部类的使用
一.成员内部类 实验1:成员内部类 class Outer {private int a 10;class Inner {public void printInfo(){System.out.println("a "a);}}}public class InnerDemo {public static void main(String args[]) {Outer o new Outer();Outer.Inner i o.new…...
llm的inference(二)
文章目录 Tokenizer分词1.单词分词法2.单字符分词法3.子词分词法BPE(字节对编码,Byte Pair Encoding)WordPieceUnigram Language Model(ULM) embedding的本质推理时的一些指标参考链接 Tokenizer 在使用模型前,都需要将sequence过一遍Tokenizer…...
pytorch -- torch.nn.Module
基础 torch.nn 是 PyTorch 中用于构建神经网络的模块。nn.Module包含网络各层的定义及forward方法。 在用户自定义神经网络时,需要继承自nn.Module类。通过继承 nn.Module 类,您可以创建自己的神经网络模型,并定义模型的结构和操作。 torch.n…...
Microsoft Edge 越用越慢、超级卡顿?网页B站播放卡顿?
记录10个小妙招 Microsoft Edge 启动缓慢、菜单导航卡顿、浏览响应沉闷?这些情况可能是由于系统资源不足或浏览器没及时更新引起的。接下来,我们将介绍 10 种简单的方法,让 Edge 浏览器的速度重新起飞。 基础检查与问题解决 如果 Microsoft…...
XGB-9: 分类数据
从1.5版本开始,XGBoost Python包为公共测试提供了对分类数据的实验性支持。对于数值数据,切分条件被定义为 v a l u e < t h r e s h o l d value < threshold value<threshold ,而对于分类数据,切分的定义取决于是否使用…...
FreeRTOS学习第8篇--同步和互斥操作引子
目录 FreeRTOS学习第8篇--同步和互斥操作引子同步和互斥概念实现同步和互斥的机制PrintTask_Task任务相关代码片段CalcTask_Task任务相关代码片段实验现象本文中使用的测试工程 FreeRTOS学习第8篇–同步和互斥操作引子 本文目标:学习与使用FreeRTOS中的同步和互斥操…...
c++STL容器的使用(vector, list, map, set等),c++STL算法的理解与使用(sort, find, binary_search等)
cSTL容器的使用(vector, list, map, set等) 在C的STL(Standard Template Library)中,容器是重要的一部分,它们提供了各种数据结构来存储和管理数据。以下是一些常见的STL容器及其使用方法的简要说明&#x…...
选择VR全景行业,需要了解哪些内容?
近年来,随着虚拟现实、增强现实等技术的持续发展,VR全景消费市场得以稳步扩张。其次,元宇宙行业的高速发展,也在进一步拉动VR全景技术的持续进步,带动VR产业的高质量发展。作为一种战略性的新兴产业,国家和…...
830. 单调栈
Problem: 830. 单调栈 文章目录 思路解题方法复杂度Code 思路 这是一个单调栈的问题。单调栈是一种特殊的栈结构,它的特点是栈中的元素保持单调性。在这个问题中,我们需要找到每个元素左边第一个比它小的元素,这就需要使用到单调递增栈。 我们…...
H5 个人引导页官网型源码
H5 个人引导页官网型源码 源码介绍:源码无后台、无数据库,H5自检测适应、无加密,直接修改可用。 源码含有多选项,多功能。可展示自己站点、团队站点。手机电脑双端。 下载地址: https://www.changyouzuhao.cn/1434.…...
【Linux】部署前后端分离项目---(Nginx自启,负载均衡)
目录 前言 一 Nginx(自启动) 2.1 Nginx的安装 2.2 设置自启动Nginx 二 Nginx负载均衡tomcat 2.1 准备两个tomcat 2.1.1 复制tomcat 2.1.2 修改server.xml文件 2.1.3 开放端口 2.2 Nginx配置 2.2.1 修改nginx.conf文件 2.2.2 重启Nginx服务 2…...
WPF Style样式设置
1.本window设置样式 <Window x:Class"WPF_Study.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expressi…...
【STM32】软件SPI读写W25Q64芯片
目录 W25Q64模块 W25Q64芯片简介 硬件电路 W25Q64框图 Flash操作注意事项 状态寄存器 编辑 指令集 INSTRUCTIONS编辑 编辑 SPI读写W25Q64代码 硬件接线图 MySPI.c MySPI.h W25Q64 W25Q64.c W25Q64.h W25Q64_Ins.h main.c 测试 SPI通信(W25…...
普通中小学校管理信息系统V1.1
普通中小学校管理信息系统 Ordinary Primary and Secondary Schools Management Information System 普通中小学校管理信息系统 Ordinary Primary and Secondary Schools Management Information System...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
