java输入一个字符串,要求将该字符串中出现的英文字母, * 按照顺序输出,区分大小写,且大写优先

public static void main(String[] args) {
String input ="A8r4c5jaAjp#7";
//转为char[]
char[] inputArr =input.toCharArray();
//存储 大写字母、小写字母
List<String> upperCaseList = new ArrayList<>(), lowerCaseList =new ArrayList<>();
for(int i=0;i<inputArr.length;i++) {
if(inputArr[i] >=65 && inputArr[i] <=90) { //大写字母
upperCaseList.add(String.valueOf(inputArr[i]));
}else if(inputArr[i] >=97 && inputArr[i] <=122) { //小写字母
lowerCaseList.add(String.valueOf(inputArr[i]));
}
}
//将大写字母、小写字母 list转为String[]
String[] upperCaseArr =upperCaseList.toArray(new String[0]);
String[] lowerCaseArr =lowerCaseList.toArray(new String[0]);
//对大写字母进行排序
Arrays.sort(upperCaseArr);
//对小写字母进行排序
Arrays.sort(lowerCaseArr);
//取出大写字母,拼成字符串
StringBuilder result =new StringBuilder();
for(int i=0;i<upperCaseArr.length;i++) {
result.append(upperCaseArr[i]);
}
//定义接收剩余字母
StringBuilder remainingStr =new StringBuilder();
for(int i=0;i<lowerCaseArr.length;i++) {
//将小写字母转为大写字母
String upperCaseStr =lowerCaseArr[i].toUpperCase();
//取出大写字母所在索引
int index =result.lastIndexOf(upperCaseStr);
if(index !=-1) { //存在大写字母
//去开头,拼接
String startStr =result.substring(0, index +1) +lowerCaseArr[i];
//取结尾
String endStr =result.substring(index + 1);
//重新赋值
result =new StringBuilder(startStr + endStr);
}else { //不存在大写字母
remainingStr.append(lowerCaseArr[i]);
}
}
//将不存在的小写字母拼接
result.append(remainingStr);
System.out.println(result);
}
结果 :AAacjjpr
java输入一个字符串,要求将该字符串中出现的英文字母, * 按照顺序输出,区分大小写,且大写优先的更多相关文章
- C语言:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,-主函数中放入一个带头节点的链表结构中,h指向链表的头节点。fun函数找出学生的最高分-使用插入排序法对字符串中的字符进行升序排序。-从文件中找到指定学号的学生数据,读入次学生数据,
//根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> ...
- 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子 ...
- Java 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)
import java.util.*; /* * 输入一个整数,计算它各位上数字的和. * (注意:是任意位的整数) */ public class Sum02 { public static voi ...
- Java 输入一个正整数,按蛇形打印。
参考博客: http://yangyingming.com/article/371/ //输入一个正整数n(n<=30),输出n所对应的蛇形矩阵.举两个例子: //n=10时,蛇形矩阵为: ...
- [java]输入一个算术表达式输出结果
动手有益. 输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间结果化为整形.例如: 输入:3+8×2/9-2 输出:2 /** * input a calculate stri ...
- java输入一个字符串,打印出该字符串中字符的所有排列,随机打乱排序
import java.util.ArrayList;import java.util.Collections;import java.util.List; public class Test7{ ...
- java输入一个字符串,输出该字符串的所有的排序
public class Sort { public static void arrangeSequence(char[] strArr,int i){ char temp; ArrayList< ...
- java 输入一个字符串,打印出该字符串中字符的所有排列
import java.util.Scanner; public class Demo001 { public static void main(String[] args) { String str ...
- 用java写一个两个任意长度字符串数字和的算法
package com.cn.test.string; public class StringTest { public static void main(String[] args) { Strin ...
- Java读取一个文本文件拼接成一个字符串(readFileToString)
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
随机推荐
- 【vue】Vue-router
Vue-router 安装 npm install vue-router --save-dev vue-cli中已经选择安装了vue-router,那这里不需要重复安装了 解读route 路径```s ...
- tapdata问题
聚合节点写两个不同的聚合函数,只需要在关联目标节点的目标字段中添加上分组字段,其他字段不用做关联 聚合节点写两个相同的聚合函数,只需要在关联目标节点的目标字段中左右两边都添加上_id,会输出两条数据, ...
- 初玩mybatis-Plus踩过的小坑(粗心大意)
一开始没设置全局id为数据库自增长(数据库也要勾上自增长) 他是默认使用ID_WORKER生成id的 ,然后当我重新设置为自增长后 发现生成的id还是20位数,局部id也设置了 还是没用 ,百度说哪个 ...
- vue 在 v-for 时给每项元素绑定事件需要用事件代理吗?为什么?
vue本身不做事件代理(react将所有事件都委托到document上,然后进行派发) 普通html元素和在组件上挂了.native修饰符的事件.最终EventTarget.addEventListe ...
- ufw-防火墙添加22端口
sudo ufw allow ssh/tcp 或 ufw allow 22/tcp 添加拒绝规则也是同样的招数.我们假设你想拒绝 ftp 访问, 你只需输入 sudo ufw deny ftp
- Tplmap-20220206
Usage: python tplmap.py [options] 选项: -h, --help 显示帮助并退出 目标: -u URL, --url=URL 目标 URL -X REQUEST, -- ...
- spider_object_01使用正则爬取百度贴吧所有内容保存成html
"""本案例不涉及数据提取,仅指导 网页分页爬取的两种方式 思路非第一种:利用while Ture,传参,然后在设定一个判断条件,案例中用的是如果找不到下一页,循环退出( ...
- 渗透测试工具&导航合集
#前言 表哥们一般都有自己强大的工具库,今天我也稍作整理,分享交流出来一部分 #信息收集 ####dirbuster kali自带的一款工具,fuzz很方便 ####gorailgun 一款自动化做的 ...
- python菜鸟学习: 7. 购物车升级版,用户、商品信息存储,修改,新增
# -*- coding: utf-8 -*-import os'''用户入口:1. 商品信息存在文件里2. 已购商品,余额记录商家入口1. 可以添加商品,修改商品价格商品信息:commdList.t ...
- Spring入门之IoC 的概念和作用(02)
2.1 程序的耦合和解耦 2.1.1 程序的耦合耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量.耦合的强弱取决于模块间接口的复杂性.调用模块的方式以及通过界面传送数据的多少.模块间的 ...