Java---字符串string练习

目录:

1.将数字转换成罗马数字

2.键盘输入任意字符串,打乱里面的内容

3.返回字符串中最后一个单词长度

4.调整A字符串 看是否可与B字符串匹配


一: //键盘录入一个字符串// 长度小于等于9  只能是数字// -将内容变成罗马数字// Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ// 罗马数字中 没有0

将数字 与罗马数字 相对应:

提供两种方法:(查表法)(switch方法)

 第一种:

 public static String toRome(int len) {String[] rome = {" ","Ⅰ ", "Ⅱ ", "Ⅲ ", "Ⅳ ", "Ⅴ ", "Ⅵ ", "Ⅶ ", "Ⅷ ", "Ⅸ "};//查表法--- 数字跟数据产生一个对应方法return rome[len];}

第二种:

// switch方法 进行匹配
public static String toRomee(int len) {String str1 = switch (len) {case 0 -> " ";case 1 -> "Ⅰ";case 2 -> "Ⅱ";case 3 -> "Ⅲ";case 4 -> "Ⅳ";case 5 -> "Ⅴ";case 6 -> "Ⅵ";case 7 -> "Ⅶ";case 8 -> "Ⅷ";case 9 -> "Ⅸ";default -> "";};     //注意符号return str1;
}

完整代码实现:

public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个长度不超过10的数字:");String str;str = sc.next();int len = str.length();boolean flag = cheak(str, len);while (true) {if (flag) {break;} else {System.out.println("输入不符合要求,重新输入!");continue;}}StringBuilder sb = new StringBuilder();for (int i = 0; i < len; i++) {char c = str.charAt(i);int num = c - 48;String n = toRomee(num);sb.append(n);}System.out.println(sb);}// switch方法 进行匹配public static String toRomee(int len) {String str1 = switch (len) {case 0 -> " ";case 1 -> "Ⅰ";case 2 -> "Ⅱ";case 3 -> "Ⅲ";case 4 -> "Ⅳ";case 5 -> "Ⅴ";case 6 -> "Ⅵ";case 7 -> "Ⅶ";case 8 -> "Ⅷ";case 9 -> "Ⅸ";default -> "";};return str1;}public static boolean cheak(String s, int len) {if (len > 9) {return false;}for (int i = 0; i < len; i++) {char c = s.charAt(i);if (c < '0' || c > '9') {return false;}}return true;}

检验结果为:

 

二:

//键盘输入任意字符串,打乱里面的内容
package test;
import java.util.Random;
import java.util.Scanner;public class messStr {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String s = sc.next();System.out.println(s);char[] arr = s.toCharArray();Random r=new Random();for (int i = 0; i < arr.length; i++) {int ran=r.nextInt(arr.length);//交换char t=arr[i];arr[i]=arr[ran];arr[ran]=t;}//把字符数组 变回 字符串String result = new String(arr);System.out.println("打乱后为:"+result);}
}

检验结果为:

 

三:

//给一个字符串 有字符 空格隔开
//返回字符串中最后一个单词长度
public class foreach {public static void main(String[] args) {String str="right up my alley";String str2="best advantage";extracted(str);extracted(str2);}private static void extracted(String str) {String s1 = lastS(str);int len1 = s1.length();System.out.println("最后一个单词为:"+s1+" 长度为:"+len1);}public static String lastS(String a){int len = a.length();String s="";for (int i = len-1; i >=0; i--) {char c = a.charAt(i);if(c==' '){break;}else{s=c+s;}}return s;}
}

检验结果为:

 

四:

//给定两个 字符串A B
//A的选择操作 是将A最左边的字符移到 最右边
//若干次调整后 A能变成B 则返回 true
//不能匹配成功 则返回 false

// 修改字符串内容————:
    //1.用substring的方法 截取,进行拼接等。
    //2.把字符串变为字符数组,调整字符数组里面数据,最后再变为字符串。

public class adjustStr {public static void main(String[] args) {//1.定义字符串      //2.调整字符串//3.是否匹配String A = "abcde";String B = "cdabe";  boolean flag = check(A, B);if (flag) {System.out.println("调整过后,可以匹配成功!");} else {System.out.println("不能匹配成功!");}}public static boolean check(String a, String b) {for (int i = 0; i < a.length(); i++) {a = rotate(a);if (a.equals(b)) {return true;}}return false;}public static String rotate(String aa) {char[] arr = aa.toCharArray();char first = arr[0];for (int i = 1; i < arr.length; i++) {arr[i - 1] = arr[i];}arr[arr.length - 1] = first;//利用字符数组 创建一个字符串对象String result = new String(arr);return result;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧水务项目(二)django(drf)+angular 18 创建通用model,并对orm常用字段进行说明

一、说明 上一篇文章建立一个最简单的项目&#xff0c;现在我们建立一个公共模型&#xff0c;抽取公共字段&#xff0c;以便于后续模块继承&#xff0c;过程之中会对orm常用字段进行说明&#xff0c;用到的介绍一下 二、创建一个db.py 目录如下图 1、代码 from importlib im…

基于QT实现的简易WPS(已开源)

一、开发工具及开源地址&#xff1a; 开发工具&#xff1a;QTCreator &#xff0c;QT 5 开源地址&#xff1a; GitHub - Whale-xh/WPS_official: Simple WPS based on QTSimple WPS based on QT. Contribute to Whale-xh/WPS_official development by creating an acc…

推荐 3个实用且完全免费的在线工具,每天都会用到,无需登录打开即用

100font 100font是一个专业的免费商用字体下载网站&#xff0c;专注于收集、整理和分享各种免费无版权的商用字体。用户可以在这个平台上找到并下载简体中文、繁体中文、英文、日文、韩文等多种语言类型的字体。 该网站的特点包括清晰的分类和直观的下载流程&#xff0c;用户可…

进阶SpringBoot之 Spring 官网或 IDEA 快速构建项目

SpringBoot 就是一个 JavaWeb 的开发框架&#xff0c;约定大于配置 程序 数据结构 算法 微服务架构是把每个功能元素独立出来&#xff0c;再动态组合&#xff0c;是对功能元素的复制 这样做可以节省调用资源&#xff0c;每个功能元素的服务都是一个可替代、可独立升级的软…

算法混合杂项

基础类型 可用template 投影 是有方向的 求俩直线交点 推公式 q我们不知道&#xff0c;已知p1 p2&#xff0c;正弦定理&#xff0c;α可以用叉积表示出来 β同理 所以我们能求出p1q 已知piq 回归到我们上一个问题&#xff0c;已知方向和长度&#xff0c;我们就能够求出Voq …

C语言 ——— 学习并使用字符分类函数

目录 学习isupper函数 学习isdigit函数 学习tolower函数 将输入的字符串中把大写字母转换为小写字母并输出 学习isupper函数 参数部分&#xff1a; 形参需要传递的是一个字母&#xff0c;字符在ASCII码表上是以整型存储的&#xff0c;所以实参部分用(int c)没有问题 返回…

【iOS】AutoreleasePool自动释放池的实现原理

目录 ARC与MRC项目中的main函数自动释放池autoreleasepool {}实现原理AutoreleasePoolPage总结 objc_autoreleasePoolPush的源码分析autoreleaseNewPageautoreleaseFullPageautoreleaseNoPage autoreleaseFast总结 autorelease方法源码分析objc_autoreleasePoolPop的源码分析po…

谁来做引领企业精益变革的舵手最合适?

在这个瞬息万变的商业时代&#xff0c;企业如同航行在波涛汹涌的大海中的巨轮&#xff0c;既需面对未知的挑战&#xff0c;也要抓住稍纵即逝的机遇。而在这场没有终点的航行中&#xff0c;引领企业实现精益变革的舵手&#xff0c;无疑是推动企业破浪前行、稳健致远的关键角色。…

FFmpeg Windows安装教程

一. 下载ffmpeg 进入Download FFmpeg网址&#xff0c;点击下载windows版ffmpeg。 下载第一个essentials版本就行。 二. 环境配置 上面源码解压后如下 将bin添加到系统环境变量 验证安装是否成功&#xff0c;输入ffmpeg –version&#xff0c;显示版本即为安装成功。

Python学习(1):使用Python的Dask库实现并行计算

目录 一、Dask介绍 二、使用说明 安装 三、测试 1、单个文件中实现功能 2、运行多个可执行文件 最近在写并行计算相关部分&#xff0c;用到了python的Dask库。 Dask官网&#xff1a;Dask | Scale the Python tools you love 一、Dask介绍 Dask是一个灵活的并行和分布式…

网工内推 | 国企运维工程师,华为认证优先,最高年薪20w

01 上海陆家嘴物业管理有限公司 &#x1f537;招聘岗位&#xff1a;IT运维工程师 &#x1f537;岗位职责&#xff1a; 1、负责对公司软、硬件系统、周边设备、桌面系统、服务器、网络基础环境运行维护、故障排除。 2、负责对各部门软件操作、网络安全进行检查、指导。 3、负责…

Mysql——update更新数据的方式

注&#xff1a;文章参考&#xff1a; MySQL 更新数据 不同条件(批量)更新不同值_update批量更新同一列不同值-CSDN博客文章浏览阅读2w次&#xff0c;点赞20次&#xff0c;收藏70次。一般在更新时会遇到以下场景&#xff1a;1.全部更新&#xff1b;2.根据条件更新字段中的某部分…

vivado OPT_SKIPPED

当跳过候选基元单元的逻辑优化时&#xff0c;OPT_skipped属性 更新单元格以反映跳过的优化。当跳过多个优化时 在同一单元格上&#xff0c;OPT_SKIPPED值包含跳过的优化列表。 架构支持 所有架构。 适用对象 OPT_SKIPPED属性放置在单元格上。 价值观 下表列出了各种OPT_design选…

【CSDN平台BUG】markdown图片链接格式被手机端编辑器自动破坏(8.6 已修复)

文章目录 bug以及解决方法bug原理锐评后续 bug以及解决方法 现在是2024年8月&#xff0c;我打开csdn手机编辑器打算修改一下2023年12月的一篇文章&#xff0c;结果一进入编辑器&#xff0c;源码就变成了下面这个样子&#xff0c;我起初不以为意&#xff0c;就点击了发布&#…

Revit二次开发选择过滤器,SelectionFilter

过滤器分为选择过滤器与规则过滤器 规则过滤器可以看我之前写的这一篇文章: Revit二次开发在项目中给链接模型附加过滤器 选择过滤器顾名思义就是可以将选择的构件ID集合传入并加入到视图过滤器中,有一些场景需要对某些构件进行过滤选择,但是没有共同的逻辑规则进行筛选的情况…

Golang | Leetcode Golang题解之第313题超级丑数

题目&#xff1a; 题解&#xff1a; func nthSuperUglyNumber(n int, primes []int) int {dp : make([]int, n1)m : len(primes)pointers : make([]int, m)nums : make([]int, m)for i : range nums {nums[i] 1}for i : 1; i < n; i {minNum : math.MaxInt64for j : range…

力扣面试150 基本计算器 双栈模拟

Problem: 224. 基本计算器 &#x1f468;‍&#x1f3eb; 参考题解 Code class Solution {public int calculate(String s) {// 存放所有的数字&#xff0c;用于计算LinkedList<Integer> nums new LinkedList<>();// 为了防止第一个数为负数&#xff0c;先往 nu…

开源免费的wiki知识库

开源的Wiki知识库有多种选择&#xff0c;它们各自具有不同的特点和优势&#xff0c;适用于不同的场景和需求。以下是一些主流的开源Wiki知识库系统&#xff1a; MediaWiki 简介&#xff1a;MediaWiki是使用PHP编写的免费开源Wiki软件包&#xff0c;是Wikipedia和其他Wikimedia…

鸿蒙(API 12 Beta2版)媒体开发【使用AudioCapturer开发音频录制功能】

如何选择音频录制开发方式 系统提供了多样化的API&#xff0c;来帮助开发者完成音频录制的开发&#xff0c;不同的API适用于不同录音输出格式、音频使用场景或不同开发语言。因此&#xff0c;选择合适的音频录制API&#xff0c;有助于降低开发工作量&#xff0c;实现更佳的音频…

Mybatis学习(3)

目录 一、JDBC vs Mybatis 二、Mybatis Plugin 三、Dao接口和xml文件的sql如何建立关联 四、Mybatis如何将sql执行结果封装为目标对象并返回的&#xff1f;都有哪些映射形式&#xff1f; 五、动态SQL 六、一级缓存和二级缓存 七、接口绑定的实现 八、Mybatis vs Hiberna…