zoukankan      html  css  js  c++  java
  • 字符串练习

    1.判断输入的字符串是否是 .java 结束 public boolean endsWith(String suffix) (查帮助,查此方法的说明)

    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您想要的内容");
            String string = scanner.nextLine();
            if (string.endsWith(".java")){
                System.out.println("是以.java结尾的字符串");
            }else{
                System.out.println("不是以.java结尾的字符串");
            }
        }
    

    2. 输出“北京欢迎你”中“欢迎”是第几位。 public int indexOf(String str) (查帮助,查此方法的说明)

    public static void main(String[] args) {
            String string ="北京欢迎你";
            int index = string.indexOf("欢迎");
            System.out.println(index);
        }
    

    3. 把输入的小写字母改成大写字母输出。

    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入小写字母");
            String string = scanner.nextLine();
            string = string.toUpperCase();
            System.out.println(string);
        }
    

    4. “那车水马龙的人世间,那样地来 那样地去,太匆忙”最后一次出现“那”的位置。

    public static void main(String[] args) {
            String string = "那车水马龙的人世间,那样地来 那样地去,太匆忙”最后一次出现“那”的位置。";
            int index = string.lastIndexOf("那");
            System.out.println(index);
        }
    

    5. “美丽呀 倒影在心房 美丽呀 泪珠挂腮上  美丽呀 花儿吐芬芳  美丽呀 你让我慌张”把这个字符串所有“美丽”替换成“倒霉”。

    public static void main(String[] args) {
            String string = "美丽呀 倒影在心房 美丽呀 泪珠挂腮上  美丽呀 花儿吐芬芳  美丽呀 你让我慌张";
            String index = string.replace("美丽","倒霉");
            System.out.println(index);
        }
    

    6. "白 毕 卞 蔡 曹 岑 常 车 陈 成 程 池 邓 丁 范 方 樊 费 冯 符 傅 甘 高 葛 龚 古 关 郭 韩"把这个字符串以空格为分隔,分到字符串数组中,再输出。然后再以”_”为分隔符,连接成一个字符中

    `public String[] split(String regex) (查帮助,查此方法的说明) `
    
    public static void main(String[] args) {
            String string = "白 毕 卞 蔡 曹 岑 常 车 陈 成 程 池 邓 丁 范 方 樊 费 冯 符 傅 甘 高 葛 龚 古 关 郭 韩";
            String [] strings = string.split(" ");
            for (String s:strings){
                System.out.println(s);
            }
            string = "";
            for (int i=0;i<strings.length;i++){
                if (i<strings.length-1){
                    string+=strings[i]+"_";
                }else {
                    string+=strings[i];
                }
            }
            System.out.println(string);
        }
    

    7.求出字符串中有多少种字符,以及每个字符的个数

    `static void printCharInfo(String str)`
    
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您想要的内容");
            String string = scanner.nextLine();
            int sum = 0;
            for (int i=0;i<string.length();i++){
                String string1 = string.substring(i,i+1);
                if(i<string.length()-1){
                    String string2 = string.substring(i+1);
                    if (!string2.contains(string1)){
                        sum++;
                    }
                }else {
                    sum++;
                }
            }
            System.out.println("字符的个数:"+sum);
        }
    

    8.去掉字符串右边的空格

    `String rtrim(String str)`
    
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您想要的内容");
            String string = scanner.nextLine();
            while (string.endsWith(" ")){
                string = string.substring(0,string.length()-1);
            }
            System.out.println(string+"0");
        }
    

    9.将s所指字符串的正序和反序进行连接,例如 "ok"->"okko"(手动编写方法与API方法两种方式)

    `String concat(String str);`
    
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您想要的内容");
            String string = scanner.nextLine();
            StringBuilder stringBuilder = new StringBuilder(string);
            stringBuilder = stringBuilder.reverse();
            String newstring = stringBuilder.toString();
            String string1 = string+newstring;
            System.out.println(string1);
        }
    
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您想要的内容");
            String string = scanner.nextLine();
            char [] cs = string.toCharArray();
            String newStr = "";
            for (int i=cs.length-1;i>=0;i--){
                newStr+=cs[i];
            }
            String s = string+newStr;
            System.out.println(s);
        }
    

    10.字符串右移n位,例如 "hello world" 右移两位 后ldhello wor

    要求写一个方法实现此功能,方法的格式是

    ```
    	String moveToRight(String str,position p)
    	str:需要移动的字符串
    	p:右移的位数
    ```	
    
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您想要的内容");
            //string 代表字符串
            String string = scanner.nextLine();
            System.out.println("请输入向右移动的位数");
            int number = scanner.nextInt();
    
            //真实移动的次数
            number = number%string.length();
            //s代表从后截取的字符串
            String s = string.substring(string.length()-number);
            //s1代表从后截取之后剩余的字符串
            String s1 = string.substring(0,string.length()-number);
            //newStr代表移动之后的结果
            String newStr = s+s1;
            System.out.println(newStr);
        }
    

    11.求5个字符串中最长的那个,把最长的字符串打印出来

    public static void main(String[] args) {
            String [] strs = new String [5];
            Scanner scanner = new Scanner(System.in);
            for (int i=0;i<strs.length;i++){
                System.out.println("请输入内容");
                strs[i] = scanner.nextLine();
            }
            int index = 0;
            int length = strs [index].length();
            for (int i=0;i<strs.length;i++){
                if (length<strs[i].length()){
                    length = strs [i].length();
                    index = i;
                }
            }
            System.out.println(strs[index]);
        }
    

    12.若可以从一个源字符串中, 找到一个相符的字符串, 则返回第一个字符的索引位置,否则返回-1。

    `int stringAt(String str,String subStr)`
    
    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入内容");
            String string1 = scanner.nextLine();
            System.out.println("请输入内容");
            String string2 = scanner.nextLine();
            int index = -1;
            for (int i=0;i<string1.length();i++){
                if (i<string1.length()-string2.length()){
                    String s = string1.substring(i,i+string2.length());
                    if (s.equals(string2)){
                        index = i;
                        break;
                    }
                }
            }
            System.out.println(string2+"出现");
        }
    

    13.判断一个字符串是否是回文

    public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入内容");
            String string = scanner.nextLine();
            StringBuilder stringBuilder = new StringBuilder(string);
            stringBuilder = stringBuilder.reverse();
            String newString = stringBuilder.toString();
            if(string.equals(newString)){
                System.out.println("是回文数");
            }else{
                System.out.println("不是回文数");
            }
        }
    
  • 相关阅读:
    [bzoj1613 Usaco2007 Jan]Running贝茜的晨练计划
    [bzoj1600][Usaco2008 Oct]建造栅栏
    [bzoj3208]花神的秒题计划I
    [vijos1011]滑雪
    [noip2007 pjt3] 守望者的逃离
    DP(1) 背包
    快速幂 模板及应用
    BZOJ1303: [CQOI2009]中位数图
    BZOJ1083: [SCOI2005]繁忙的都市
    Bzoj1084: [SCOI2005]最大子矩阵
  • 原文地址:https://www.cnblogs.com/SunMoonSky/p/12540429.html
Copyright © 2011-2022 走看看