Java String编程作业:1 编程将字符串abcdefg,逆序输出。2 编程统计在字符串 我正在学习java编程,学的第一个java程序是Hello java! 中,java 出现的次数

本文介绍了使用Java进行字符串操作的多种技巧,包括字符串逆序、统计特定子串出现次数、单词反转及顺序反向输出,以及根据偏移量旋转字符串的方法。通过实际代码示例,深入解析了每种操作的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 编程将字符串"abcdefg",逆序输出。
代码:

public class ReverseOutput {
    public static void main(String[] args) {
        String s="abcdefg";
        StringBuffer str=new StringBuffer(s);
        System.out.println(str.reverse());
        //或
        for (int i = s.length()-1; i>=0  ; i--) {
            System.out.print(s.charAt(i));
        }
    }
}

运行结果:
在这里插入图片描述
2 编程统计在字符串"我正在学习java编程,学的第一个java程序是Hello java!"中,"java"出现的次数
代码:

public class Statistics {
    public static void main(String[] args) {
        String s="我正在学习java编程,学的第一个java程序是Hello java!";
        int num=0;
        while (s.indexOf("java")!=-1){
            num++;
            s=s.substring(s.indexOf("java")+"java".length());
        }
        System.out.println("在字符串\"我正在学习java编程,学的第一个java程序是Hello java!\"中,\"java\"出现的次数为:"+num);
    }
}

运行结果:
在这里插入图片描述
3.将给定字符串中的每个单词反转后输出,字符串中可以有标点符号,单词的分隔也可以是多个空格。
如 str = “we are a student”
输出:ew era a tneduts
代码:

public class StringTest3 {
    public static void main(String[] args) {
        String str = "Now,we are a student!".replaceAll("[,.'/<>!?(){};‘:“]"," "),a="";
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i)==' '|| i == str.length() - 1)
                for (int j = i; j >= 0; j--) {
                    if (str.charAt(j) == ' '&& j < i) break;
                    a += str.charAt(j);
                }
        }
        System.out.println(a.toString());
        //或
        String s[]=str.split("\\s+|\\W");
        for (String s1:s){
            StringBuffer s2=new StringBuffer(s1);
            s2.reverse();
            System.out.print(s2+" ");
        }
    }
}

运行结果:
在这里插入图片描述
4.将给定字符串中的每个单词顺序反着输出,字符串中可以有标点符号,单词的分隔也可以是多个空格。
如 str = “we are a student”
输出:student a are we
这题和第3题题干有些类似,但要求不一样,认真读题。
代码:

public class StringTest4 {
    public static void main(String[] args) {
        String str = "Now,we are a student!".replaceAll("[,.'/<>!?(){};‘:“]"," "),a="";
        for (int i = str.length()-1; i >= 0; i--) {
            if (str.charAt(i)==' '|| i == 0)
                for (int j = i; j < str.length(); j++) {
                    a += str.charAt(j);
                    if (str.charAt(j) == ' '&&j>i) break;
                }
        }
        System.out.println(a.toString());
        //或
        String s[]=str.split("\\s+|\\W");
        for (int i=s.length-1;i>=0;i--){
            System.out.print(s[i]+" ");
        }
    }
}

运行结果:
在这里插入图片描述
5.给定一个字符串str=“abcdefg” 和一个偏移量offset = 15,根据偏移量原地旋转字符串(从左向右旋转) 后输出。
代码:

import java.util.Scanner;
public class StringTest5 {
    public static void main(String[] args) {
        String str="abcdefg",str1=str;
        Scanner s=new Scanner(System.in);
        System.out.println("请输入offset的值:");
        int offset=s.nextInt(),num=0;
        int n=str.length()-offset%str.length();
        String s1=str.substring(n)+str.substring(0,n);
        System.out.println(s1);
    }
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值