当前位置: 首页 > news >正文

Java基础String常见的编程练习

1.对字符串数组进行排序

package javalianxi;import java.util.Arrays;
import java.util.Comparator;public class Test1 {public static void main(String[] args) {String[] array = { "cd", "CD", "bc", "AB", "ab", "bb", "BB", "dd", "tr", "fg", "aa" };//使用默认方法A-Za-z
//		Arrays.sort(array);//自定义方法Aa-ZzArrays.sort(array, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {String s1 = o1.toUpperCase();String s2 = o2.toUpperCase();if(s1.equals(s2)) {return o1.compareTo(o2);}return s1.compareTo(s2);}});System.out.println(Arrays.toString(array));}
}

2.如何对字符串的内容进行统计

package javalianxi;public class Test2 {public static void main(String[] args) {String s = "我0a本1bB将2c心3d向4e明5f月";int number = 0;int english = 0;for(int i = 0; i<s.length();i++) {char c =s.charAt(i);//判断是否是数子if(c >= '0' && c<='9') {number++;}//判断是否是字母if(c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z') {english++;}}System.out.println(number);System.out.println(english);}
}

3.判断数字是否是回文数(回文数类似于12321,正着念反着念都是相同的)

package javalianxi;public class Test3 {public static void main(String[] args) {//判断是否是回文数int num = 9876789;//将数值转换成字符串String s = String.valueOf(num);String number = "";for(int i = 0; i<s.length();i++) {//拿出每一个字符进行拼接char c = s.charAt(i);number = c + number;}System.out.println(s.equals(number));}
}

4.当前日期是今年的第几天

  • 先判断是否是闰年
  • 再对二月进行修改
  • 将日期相加
package javalianxi;import java.time.LocalDate;public class Test4 {public static void main(String[] args) {String date = "2024-09-28";//截取出年月日int year = Integer.parseInt(date.substring(0, 4));int month = Integer.parseInt(date.substring(5, 7));int day = Integer.parseInt(date.substring(8));//方法一:使用LocalDate类LocalDate dates = LocalDate.of(year, month, day);int ret = dates.getDayOfYear();System.out.println(ret);//方法二int[] arr = {31,28,31,30,31,30,31,31,30,31,30,31};//判断二月if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {arr[1]++;}//累加當前月int days =0;for(int i = 0;i<=month-2;i++) {days +=arr[i];}days += day;System.out.println(days);}
}

5.String为什么是不可变的?

  • 数据结构:使用final关键字修饰char[]类型的数组
  • 方法实现:所有涉及修改的方法,均未在原数组中进行字符串内容修改,而是产生了一个新的字符串对象

6.输出所有的水仙花数

package demo;public class Demo01 {public static void main(String[] args) {//输出所有的水仙花数for(int i = 100;i<1000;i++) {int hundred = i /100; //百位数int ten = (i % 100) /10; //十位数int one = i % 10;if((hundred * hundred * hundred)+(ten * ten * ten)+(one * one * one) == i) {System.out.println(i);}}}
}

7.判断三角形是否成立

package javalianxi;import java.math.BigInteger;public class Test5 {public static void main(String[] args) {//		int a =2,b=3,c=4;//方法一
//		int max = a>b?(a>c?a:c):(b>c?b:c);
//		int min = Math.min(Math.min(a, b), c);
//		int mid = a+b+c-max-min;
//		String san = max<min+mid?"yes":"no";
//		System.out.println(san);//方法二BigInteger a = new BigInteger("3");BigInteger b = new BigInteger("4");BigInteger c = new BigInteger("5");BigInteger max = (a.compareTo(b)== 1)?(a.compareTo(c)==1?a:c):(b.compareTo(c)==1?b:c);BigInteger min = (a.compareTo(b)== -1)?(a.compareTo(c)== -1?a:c):(b.compareTo(c)== -1?b:c);BigInteger mid = a.add(b).add(c).subtract(max).subtract(min);String san = max.compareTo(min.add(mid))== -1?"yes":"no";System.out.println(san);}
}

相关文章:

Java基础String常见的编程练习

1.对字符串数组进行排序 package javalianxi;import java.util.Arrays; import java.util.Comparator;public class Test1 {public static void main(String[] args) {String[] array { "cd", "CD", "bc", "AB", "ab", &q…...

代码随想录算法训练营(回溯5)| 491.递增子序列 46.全排列 47.全排列 II

491.递增子序列 本题和大家刚做过的 90.子集II 非常像&#xff0c;但又很不一样&#xff0c;很容易掉坑里。 题目链接/文章讲解 视频讲解 46.全排列 本题重点感受一下&#xff0c;排列问题 与 组合问题&#xff0c;组合总和&#xff0c;子集问题的区别。 为什么排列问题不用…...

专业140+总分420+南京信息工程大学811信号与系统考研经验南信大电子信息与通信工程,真题,大纲,参考书

今年顺利被南信大电子信息录取&#xff0c;初试420&#xff0c;专业811信号与系统140&#xff08;Jenny老师辅导班上140很多&#xff0c;真是大佬云集&#xff09;&#xff0c;今年应该是南信大电子信息最卷的一年&#xff0c;复试线比往年提高了很多&#xff0c;录取平均分380…...

一元函数微分学【高数笔记】

1. 什么是微分&#xff1f;什么是微商&#xff1f; 2. 什么是函数的微分&#xff1f; 3. 在函数的微分中&#xff0c;有什么样的关系&#xff1f; 4. 一元函数的微分运用在什么题型中&#xff1f; 5. 什么是一元函数&#xff1f;...

(16)Hive——企业调优经验

前言 本篇文章主要整理hive-3.1.2版本的企业调优经验&#xff0c;有误请指出~ 一、性能评估和优化 1.1 Explain查询计划 使用explain命令可以分析查询计划&#xff0c;查看计划中的资源消耗情况&#xff0c;定位潜在的性能问题&#xff0c;并进行相应的优化。 explain执行计划…...

【详解】图的概念和存储结构(邻接矩阵,邻接表)

目录 图的基本概念&#xff1a; 图的存储结构 邻接矩阵&#xff08;GraphByMatrix&#xff09;&#xff1a; 基本参数&#xff1a; 初始化&#xff1a; 获取顶点元素在其数组中的下标 &#xff1a; 添加边和权重&#xff1a; 获取顶点的度&#xff1a; 打印图&#xf…...

【AIGC】Stable Diffusion介绍

Stable Diffusion 是一个基于 OpenAI 的 Diffusion 模型的扩展版本&#xff0c;它采用了稳定扩散&#xff08;Stable Diffusion&#xff09;的技术&#xff0c;旨在提高图像生成和处理的质量。下面是 Stable Diffusion 的详细介绍&#xff1a; 基于 Diffusion 的图像生成&…...

2024.2.18 C++QT 作业

思维导图 练习题 1>定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不同的表演行为。 #include <iostream>using namespace std;class Animal { public:virtual void perform() {cout << "这是一个动…...

【qt创建线程两种方式】

QT使用线程的两种方式 1.案例进度条 案例解析&#xff1a; 如图由组件一个进度条和三个按钮组成&#xff0c;当点击开始的时候进度条由0%到100%&#xff0c;点击暂停&#xff0c;进度条保持之前进度&#xff0c;再次点击暂停变为继续&#xff0c;点击停止按钮进度条停止。 案…...

网络安全-一句话木马

声明 遵纪守法 请严格遵守网络安全法相关条例&#xff01; 此分享主要用于交流学习&#xff0c;请勿用于非法用途&#xff0c;一切后果自付。 一切未经授权的网络攻击均为违法行为&#xff0c;互联网非法外之地。 反制 大家在知道了常规一句话的木马之后&#xff0c;就可以通…...

在k8s中,使用DirectPV CSI作为分布式存储的优缺点

DirectPV 提供了一种直接将物理卷(Physical Volumes)与 Kubernetes 集群中的 Pod 绑定的机制。 利用 DirectPV,你可以将相应的 PV 直接与节点上的物理存储设备(如磁盘)进行绑定,而无需通过网络存储服务(如 NFS 或 Ceph)来提供存储。这种直接访问物理卷的方式,有助于提…...

自动化AD域枚举和漏洞检测脚本

linWinPwn 是一个 bash 脚本&#xff0c;可自动执行许多 Active Directory 枚举和漏洞检查。该脚本基于很多现有工具实现其功能&#xff0c;其中包括&#xff1a;impacket、bloodhound、netexec、enum4linux-ng、ldapdomaindump、lsassy、smbmap、kerbrute、adidnsdump、certip…...

数据库管理-第151期 Oracle Vector DB AI-03(20240218)

数据库管理151期 2024-02-18 数据库管理-第151期 Oracle Vector DB & AI-03&#xff08;20240218&#xff09;1 向量数据库应用场景2 Oracle Vector DB3 Vector数据类型4 Vector运算5 Vector DML插入向量获取向量 总结 数据库管理-第151期 Oracle Vector DB & AI-03&am…...

Vue3+vite搭建基础架构(6)--- 使用vue-router

Vue3vite搭建基础架构&#xff08;6&#xff09;--- 使用vue-router 说明官方文档安装vue-router使用vue-router测试vue-router 说明 这里记录下自己在Vue3vite的项目使用vue-router的过程&#xff0c;不使用ts语法&#xff0c;方便以后直接使用。这里承接自己的博客Vue3vite搭…...

深入解析Android AIDL:实现跨进程通信的利器

深入解析Android AIDL&#xff1a;实现跨进程通信的利器 1. 介绍Android AIDL Android Interface Definition Language (AIDL) 是一种Android系统中的跨进程通信机制。AIDL允许一个应用程序的组件与另一个应用程序的组件通信&#xff0c;并在两者之间传输数据。 AIDL的主要作…...

【笔记】Helm-5 Chart模板指南-14 下一步

下一步 本指南旨在为chart开发者提供对如何使用Helm模板语言的强大理解能力。该模板聚焦于模板开发的技术层面。 但涉及到chart的实际日常开发时&#xff0c;很多内容本指南并没有覆盖到。这里有一些有用的文档链接帮助您创建新的chart&#xff1a; CNCF的 Artifact Hub 是ch…...

axios 官网速通

前言&#xff1a;参考 AXIOS 中文文档 一 起步 1. 介绍 1.1 Axios 是什么&#xff1f; Axios 是一个基于 promise 网络请求库&#xff0c;作用于 node.js 和浏览器中。在服务端使用 node.js 的 http 模块, 在客户端 (浏览端) 使用 XMLHttpRequests。 1.2 安装 $ npm instal…...

luigi,一个好用的 Python 数据管道库!

🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️付费专栏:Python专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前言 大家好,今天为大家分享一个超级厉害的 Python 库 - luigi。 Github地址:https://github.com/spotify/luigi 在大数据时代,处理海量数据已经成…...

用HTML5实现动画

用HTML5实现动画 要在HTML5中实现动画&#xff0c;可以使用以下几种方法&#xff1a;CSS动画、使用<canvas>元素和JavaScript来实现动画、使用JavaScript动画库。重点介绍前两种。 一、CSS动画 CSS3 动画&#xff1a;使用CSS3的动画属性和关键帧&#xff08;keyframes&…...

【Linux笔记】进程间通信之管道

一、匿名管道 我们在之前学习进程的时候就知道了一个概念&#xff0c;就是进程间是互相独立的&#xff0c;所以就算是两个进程是父子关系&#xff0c;其中一个进程退出了也不会影响另一个进程。 也因为进程间是互相独立的&#xff0c;所以两个进程间就不能直接的传递信息或者…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...