需求:
* 定义一个数组如下: " aa-11-2S-66-77-FF-s6-6t "
然后把首字母转大写 其他字母转小写 去掉中间的"-" 最后打印在控制台.
*
分析
* 先把数组转化为集合,然后遍历集合 实现题目的最终需求
*
* 优先去首尾空格 ,否则取首字母的时候会把空格当成第一位取出,
*
* 这样的话你怎么转化都只会转化空格 , 小写 a 永远不可能被转换成大写 A .
*/
public static void main(String[] args) {
//定义数组
String s = " aa-11-2S-66-77-FF-s6-6t ";
String s1 = s.trim();
String s2 = s1.substring(0, 1);
String s3 = s1.substring(1);
String s4 = s2.toUpperCase() + s3.toLowerCase();
String[] s5 = s4.split("-");
System.out.print("[");
for (int x = 0; x < s5.length; x++) {
if(x == s5.length-1) {
System.out.print(s5[x] + "]");
}else {
System.out.print(s5[x]+ ", ");
}
}
}
}
难题二:
package com.itheima;
import java.util.Scanner;
/* 需求:数组元素查找(查找指定元素第一次在数组中出现的索引)
(1)给定数组int[] arr = {5,7,3,2,5};
(2)要查询的元素通过键盘录入的方式确定
(3)定义一个查找数组元素第一次出现位置的方法(注,要查找的元素就是键盘录入的数据)
分析:定义一个数组, 创建一个键盘录入 ,
创建一个方法
遍历数组, 使用键盘录入的整数和数组中的元素对比, 一旦相对比的结果正确,输出数组的索引下标
*/
public class HelloWorld {
public static void main(String[] args) {
int[] arr = {5,7,3,2,5,7,8,4,3,4,1,9,5};
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要查询的元素: ");
int number = sc.nextInt();
int index = getIndex(arr, number);
System.out.println("要查询的元素下标为: " + index);
}
//两个明确 返回值类型 :int 参数列表: arr number
public static int getIndex(int[] arr, int number) {
int index = -1;
for (int x = 0; x < arr.length; x++) {
if(arr[x] == number) {
index = x;
// break;(关键在于方法中这个位置要不要加break,不加的话直接就会击穿到最后一位的位置,输出最后一位的索引下标)
}
}
return index;
}
}
|
|