"Java 字符串应用、数组、字母转换和公约数等" 在Java编程中,字符串、数组和字母处理是常见的操作。本资源涵盖了多个相关的编程题目,旨在帮助学习者提升这些技能。 1. 字符串比较: 使用`compareToIgnoreCase`方法可以忽略大小写比较两个字符串的大小。这个方法会返回一个整数值,表示两个字符串的相对顺序。如果第一个字符串大于第二个字符串,返回值大于0;相等则返回0;小于则返回负数。例如,`compareToIgnoreCase("HARD", "hark")`会返回一个小于0的值,表示"HARD"按字典序在"hark"之前。 2. 二维数组处理: 从二维数组中获取每列的最小值,可以通过遍历二维数组,比较每一列的元素找到最小值,并存入新的一维数组中。例如,对于`inArr[ ][ ]={{1,8,3},{6,5}}`,输出的一维数组`outArr[ ]`应为{1, 5, 3}。 3. 首字母大写检查: 判断字符串是否以大写字母开头,其余字母都是小写,可以使用正则表达式或Java的`Character.isUpperCase()`和`Character.isLowerCase()`方法来实现。 4. 字母数字组合重组: 对于包含字母和数字的字符串,可以使用`split()`方法分割字母和数字,然后分别存储,最后按照需求重新组合。例如,字符串"2s7ess83a"经过处理后会变成"sessa2783"。 5. 最长单词提取: 找到字符串中长度最长的单词,可以使用`split()`分隔字符串为单词数组,然后遍历找出最长的单词。 6. 字符出现频率最高的字母: 通过对字符串遍历,使用哈希表统计每个字符出现的次数,然后找出出现频率最高的字母。 7. 数字到字母的映射: 给定一个整型数组,数组中的数字对应26个字母表的位置,可以将数字映射为相应的字母。不在1-26范围内的数字用问号表示。 8. 按字母顺序输出数组: 将数组中的数字映射为26个字母,按字母顺序输出。无法映射的数字用问号表示。 9. 数字与字母的映射(1-26): 类似于上一个问题,但只处理1到26的数字,其他数字用问号表示。 10. 字母后的第五个字母: 输入一个大写字母,计算其后面第五个字母(循环计算,超过Z则从A开始计数)。可以使用模运算实现。 11. 数组中大于平均值的元素个数: 计算数组的平均值,然后统计大于平均值的元素个数。对于数组`{1,2,3,4,5,6,7,8,9,10}`,大于平均值的元素有5个。 12. 二维数组列最大值: 获取二维数组每列的最大值,存储在一个一维数组中。例如,对于`inArr[ ][ ]={{1,8,3},{6,5}}`,输出的一维数组`outArr[ ]`应为{8, 6}。 13. 最大公约数(GCD): 求两个数的最大公约数,可以使用欧几里得算法(辗转相除法)来实现。 这些题目涵盖了字符串操作、数组处理、逻辑判断、数学计算等多个方面,是提高Java编程技能的良好实践。通过解决这些问题,可以深入理解Java语言的特性和数据结构的应用。
import java.util.Arrays;
import java.util.List;
public class test01 {
/**
* 根据以下要求,比较两个字符串的大小,并返回比较结果:
* 1、比较两字符串的大小。
* 2、忽视大小写
* 3、 按字典序 如果第一个字符串大于第二个字符串 返回大于0,如果第一个字符串等于第二个字符串 返回等于0 ,如果第一个字符串小于第二个字符串返回小于0。
* 4、例子 compareToIgnoreCase("HARD","hark")的比较结果返回小于0 。
* @param str1
* @param str2
* @return
*/
public static String test1(String str1, String str2)
{
String strValue = "";
//compareToIgnoreCase是字符串比较大小、忽略大小写和返回值的方法
if(str1.compareToIgnoreCase(str2) > 0)
{
strValue = "> 0";
}else if(str1.compareToIgnoreCase(str2) == 0)
{
strValue = "= 0";
}else
{
strValue = "< 0";
return strValue;
}
/**
* 给一个二维数组inArr[ ][ ],写一个方法获取每一列的最小值,输出到一个一维数组outArr[ ]中。
* 如:inArr[ ][ ]={{1,8,3},{6,5}},则输出outArr[ ] = {1,5,3}
* @return
*/
public static String test2(int[][] inArr)
{
//获取二维数组中一维数组的最大长度
int maxLength = getMaxLength(inArr);
List<Integer []> list1=new ArrayList<Integer []>();
List<Integer> list = new ArrayList<Integer>();
//循环一维数组的最大长度
for (int j = 0; j < maxLength; j++)
{
//循环二维数组的长度
for (int i = 0; i < inArr.length; i++)
{
//获取对应一维数组的长度
int tempLength=inArr[i].length;
//防止非法索引访问数组时抛出的异常,因为第二个一维数组少了一个长度,因此读取的时候索引大于数组的大小
if((j+1)>tempLength)
{
continue;
}
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 48
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展