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...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
