Java——字符串

Description

对于输入字符串s(假设字符串只包含字母构成的单词和空格),完成如下功能:
1. 统计该字符串中字母c出现的次数 
2. 求该字符串的逆 
3. 输出该字符串中子串str的所有位置(无需考虑子串叠加现象)
4. 将字符串中每个单词的第一个字母变成大写并输出

Input

字符串s
字母c
子串str

Output

c在s中出现的次数
s的逆
str在s中的所有位置
所有单词首字母大写后的字符串

Sample Input

I scream you scream we all scream for icecream
m
eam

Sample Output

4
maerceci rof maercs lla ew maercs uoy maercs I
5 16 30 43
I Scream You Scream We All Scream For Icecream
import java.util.*;

public class Main {

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    String s = scan.nextLine();

    //输入字符

    String sc = scan.nextLine();

    char c = sc.charAt(0);

    //字符串逆转

    String reverse = "";

    int num = 0;

    int len = s.length();

    for(int i = 0;i < len;i++)

    {

        reverse = s.charAt(i) + reverse;

        if(s.charAt(i) == c)

        {

            num ++;

        }

    }

    System.out.println(num);

    System.out.println(reverse);

    //子串

    String ss = scan.nextLine();

    int temp = 0;

    

    temp = s.indexOf(ss);

    String index = "";

    index = index + Integer.toString(temp) ;

    

    while(temp != s.lastIndexOf(ss))

    {

        temp = s.indexOf(ss, temp+1);

        index = index +" " + Integer.toString(temp);

    }

    

   System.out.println(index);

   //大小写转变

   String space = " ";

   String another = "";

   

   for(int i = 0;i<len;i++)

   {

       another += s.charAt(i);

       if(s.charAt(i) == ' ')

       {

           //another += s.charAt(i);

           another += String.valueOf(s.charAt(i+1)).toUpperCase();

           i++;

       }

   }

   System.out.println(another);

}

}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一、实验目的 掌握根据实际需求设计Java类的方法; 掌握Java中继承的使用方法; 掌握Java中package的概念和使用方法; 掌握静态方法的定义和使用方法; 掌握Object类中equals方法和toString方法的覆盖方法。 二、实验内容 1、设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、圆三个类。要求:(1)每个类都要构造方法并为成员设置get和set方法;(2)每个类都要有计算周长和面积的成员方法;(3)完成该软件包后的编码后,在另一个包的含有main方法的类中编写代码,分别使用图形软件包中的三个类,生成三个对象,并打印出其周长和面积。 2、编写类Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。 3、按照要求使用Java进行编码。 设计一个教师类Teacher,属性有编号(no)、姓名(name)、年龄(age)、所属学院(seminary),为这些属性设置相应的get和set方法; 为Teacher类重写equals方法;(当两个教师对象的no相同时返回true) 重写Teacher类的toString方法,通过该方法可以返回“编号为**、姓名为**、年龄为**的**学院老师”形式的字符串。 构造main方法进行测试。 4、设计一个带表头的单链表(链表中的元素属于同一类型对象,但对象的类型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值