记录我的Java学习经历(9)

来源:互联网 发布:nginx怎么使用 编辑:程序博客网 时间:2024/05/28 04:53

介绍
学习Java基础时做的小练习分享,请大家批评指正!

String类的小练习

这道题没啥好说的,重点在于对于ascii编码表常用字符的使用,规则:

  • 键盘录入一个字符串
  • 将该字符串变成字符数组(不能使用toCharArray()方法)
  • 将字符数组中所有的大写字符变成小写字母(不能使用toLowerCase方法)
  • 如果第一位和最后一位的内容不相同,则交换
  • 将字符数组中索引为偶数的元素变成’~’
  • 打印数组元素的内容

代码:

public class MainApp {    public static void main(String[] args) {        @SuppressWarnings("resource")        Scanner sc = new Scanner(System.in);        System.out.println("输入一个字符串:");        String str = sc.nextLine();        char[] ch = new char[str.length()];        //String转成字符数组,这里题目说不让用toCahrArray,那我就自己转        for (int i = 0; i < str.length(); i++) {            ch[i] = str.charAt(i);        }        //遍历字符数组,        for (int i = 0; i < ch.length; i++) {            if(ch[i] >= 'A' && ch[i] <= 'Z') {//这里的ch是有范围的                ch[i] = (char)(ch[i]+32);//大写转小写,大写比小写小了32位            }            if (i%2 == 0) {                ch[i] = '~';//判断位上是否偶数,若是则换成'~'            }        }        if (ch[0] != ch[str.length()-1]) {//判定最后一位和第一位是否一样            char temp = ch[0];//这个交换方法需要用到临时变量            ch[0] = ch[str.length()-1];            ch[str.length()-1] = temp;        }        for (int j = 0; j < ch.length; j++) {//打印输出            System.out.print(ch[j]);        }       }}
原创粉丝点击