可爱的小棋 2017-05-05 02:41 采纳率: 80%
浏览 1236
已采纳

这个java的小程序怎么写啊?

键盘录入一个字符串,将字符串中的大写改成小写,小写改成大写,数字改成*。例如heLLO123,输出后为HEllo***

  • 写回答

8条回答 默认 最新

  • 夕阳雨晴 2017-05-05 04:59
    关注
     import java.util.Scanner;
    
    /**
     *
     * @author sunzc 转换字符串,大写变小写,小写变大写,数字不变,其他变为*
     */
    public class Transfer {
      public static void main(String[] args) {
        // String str = "ABC123abcfadfjbJBHJHJDsa";
        String str = "";
        Scanner s = new Scanner(System.in);
        System.out.println("请输入您想输入的字符串:");
        str = s.next();
        StringBuffer sb = new StringBuffer();
        int i;
        // char ch;
        for (i = 0; i <= str.length() - 1; i++) {// 遍历字符串
          char ch;
    
          // 通过str.charAt(i)遍历出字符串中每个字符
          if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {// 判断字符是否在a-z之间(小写)
            ch = (char) (str.charAt(i) - 32); // 如果为小写则转换为相应大写,赋值给ch
          } else if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {// 判断字符是否在A-Z之间(大写)
            ch = (char) (str.charAt(i) + 32); // 如果为大写则转换为相应小写,赋值给ch
          } else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {// 判断字符是否在0-9之间(数字)
            ch = '*'; // 如果为数字,则转为*号
          } else {
            ch = str.charAt(i); // 将原字符赋值给ch
          }
          sb.append(ch); // 将字符追加到sb序列
        }
        String trStr = sb.toString(); // 将StringBuffer转换为String类型
        System.out.println(sb.toString());
      }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多