zoukankan      html  css  js  c++  java
  • 腾讯2017暑期实习生编程题

      小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?

      基本思路如下:

      可构造一个StringBuffer对象sb,然后将输入的字符串变为字符数组,经过两次遍历,第一次遍历将小写字母加入sb中,第二次遍历将大写字母加入sb中,这样就可将字符串的大写字母放到字符串的后面。

      代码如下:

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            while(in.hasNext()){ //多组输入
            String str = in.next();
            StringBuffer sb = new StringBuffer(); //构造StringBuffer对象
            char ch[] = str.toCharArray(); //转换为字符数组
            for(int i=0;i<ch.length;i++){
                if(ch[i]>='a'&&ch[i]<='z'){
                    sb.append(ch[i]);  //第一次遍历,将小写字母加入其中
                }
            } 
            for(int i=0;i<ch.length;i++){
                if(ch[i]>='A'&&ch[i]<='Z'){
                    sb.append(ch[i]); //第二次遍历,将大写字母加入其中
                }
            }
            System.out.println(sb.toString()); //将StringBuffer对象转换为String对象输出
        }
    
    }
    }
  • 相关阅读:
    我的第一篇博客
    文献笔记5
    文献笔记4
    文献笔记8
    文献笔记6
    文献笔记10
    文献笔记7
    文献笔记1
    文献笔记2
    文献笔记3
  • 原文地址:https://www.cnblogs.com/cppeterpan/p/6910780.html
Copyright © 2011-2022 走看看